{"id":736,"date":"2020-07-16T18:13:31","date_gmt":"2020-07-16T21:13:31","guid":{"rendered":"http:\/\/periciajudicial.zsistemas.com.br\/?p=736"},"modified":"2020-08-05T16:50:26","modified_gmt":"2020-08-05T19:50:26","slug":"instalando-asterisk-11-no-centos-7-8-2003","status":"publish","type":"post","link":"https:\/\/periciajudicial.zsistemas.com.br\/index.php\/2020\/07\/16\/instalando-asterisk-11-no-centos-7-8-2003\/","title":{"rendered":"Instalando Asterisk 11 no CentOS 7.8.2003"},"content":{"rendered":"\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"629\" src=\"http:\/\/periciajudicial.zsistemas.com.br\/wp-content\/uploads\/2020\/07\/Asterisk-1024x629.jpg\" alt=\"\" class=\"wp-image-751\" srcset=\"https:\/\/periciajudicial.zsistemas.com.br\/wp-content\/uploads\/2020\/07\/Asterisk-1024x629.jpg 1024w, https:\/\/periciajudicial.zsistemas.com.br\/wp-content\/uploads\/2020\/07\/Asterisk-300x184.jpg 300w, https:\/\/periciajudicial.zsistemas.com.br\/wp-content\/uploads\/2020\/07\/Asterisk-768x472.jpg 768w, https:\/\/periciajudicial.zsistemas.com.br\/wp-content\/uploads\/2020\/07\/Asterisk.jpg 1149w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Instalando o Asterisk 11 no CentOS 7.8.2003, dahdi-linux-complete-3.1.0+3.1.0, libpri-1.6.0, voicerlib-4.2.5.6, asterisk-11.25.3.tar.gz, dgvchannel-1.1.8.<\/h2>\n\n\n\n<p>Primeiramente devemos assumir o diret\u00f3rio <strong><em>&#8220;\/usr\/src\/&#8221;<\/em><\/strong> como padr\u00e3o de instala\u00e7\u00e3o dos pacotes linux:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>cd \/usr\/src\/<\/code><\/pre>\n\n\n\n<p>Para instalar os pacotes de compila\u00e7\u00e3o necess\u00e1rios no CentOS, an\u00e1logos ao libtools, utilize o seguinte comando:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>yum groupinstall 'Development Tools'<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Dahdi-linux<\/h2>\n\n\n\n<p>Para instalar a libpri \u00e9 necess\u00e1rio a instala\u00e7\u00e3o da dahdi-linux, ent\u00e3o eu baixei a <a href=\"https:\/\/downloads.asterisk.org\/pub\/telephony\/dahdi-linux-complete\/dahdi-linux-complete-3.1.0+3.1.0.tar.gz\"><br>dahdi-linux-complete-3.1.0+3.1.0.tar.gz<\/a> completa, descompactei, compilei e instalei com os seguintes comandos:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>wget https:\/\/downloads.asterisk.org\/pub\/telephony\/dahdi-linux-complete\/dahdi-linux-complete-3.1.0+3.1.0.tar.gz\ntar -xvzf dahdi-linux-complete-3.1.0+3.1.0\ncd dahdi-linux-complete-3.1.0+3.1.0\/\nmake all\nmake install\nmake config<\/code><\/pre>\n\n\n\n<p>Veja o final da instala\u00e7\u00e3o do dahdi-linux:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>libtool: install: \/usr\/bin\/install -c dahdi_monitor \/usr\/sbin\/dahdi_monitor\nlibtool: install: \/usr\/bin\/install -c .libs\/dahdi_cfg \/usr\/sbin\/dahdi_cfg\nlibtool: install: \/usr\/bin\/install -c dahdi_speed \/usr\/sbin\/dahdi_speed\nlibtool: install: \/usr\/bin\/install -c dahdi_scan \/usr\/sbin\/dahdi_scan\nlibtool: install: \/usr\/bin\/install -c fxotune \/usr\/sbin\/fxotune\nlibtool: install: \/usr\/bin\/install -c sethdlc \/usr\/sbin\/sethdlc\nmake  install-exec-hook\nmake[4]: Entrando no diret\u00c3\u00b3rio `\/usr\/src\/dahdi-linux-complete-3.1.0+3.1.0\/tools'\nmake -f .\/Makefile.legacy top_srcdir=. srcdir=. install\nmake[5]: Entrando no diret\u00c3\u00b3rio `\/usr\/src\/dahdi-linux-complete-3.1.0+3.1.0\/tools'\n\/sbin\/restorecon -v \/usr\/lib\/\n###################################################\n###\n### DAHDI tools installed successfully.\n### If you have not done so before, install init scripts with:\n###\n###   make install-config\n###\n###################################################\nmake[5]: Saindo do diret\u00c3\u00b3rio `\/usr\/src\/dahdi-linux-complete-3.1.0+3.1.0\/tools'\nCompatibility symlinks (should be removed in the future)\nln -sf libtonezone.so.2.0.0 \/usr\/lib\/libtonezone.so.2.0\nmake[4]: Saindo do diret\u00c3\u00b3rio `\/usr\/src\/dahdi-linux-complete-3.1.0+3.1.0\/tools'\n \/usr\/bin\/mkdir -p '\/etc\/dahdi'\n \/usr\/bin\/install -c -m 644 system.conf.sample assigned-spans.conf.sample span-types.conf.sample modules.sample '\/etc\/dahdi'\n \/usr\/bin\/mkdir -p '\/usr\/include\/dahdi'\n \/usr\/bin\/install -c -m 644 tonezone.h '\/usr\/include\/dahdi'\n \/usr\/bin\/mkdir -p '\/etc\/udev\/rules.d'\n \/usr\/bin\/install -c -m 644 dahdi.rules '\/etc\/udev\/rules.d'\nmake  install-data-hook\nmake[4]: Entrando no diret\u00c3\u00b3rio `\/usr\/src\/dahdi-linux-complete-3.1.0+3.1.0\/tools'\nmkdir -p \/etc\/bash_completion.d\ninstall -m 644 .\/dahdi-bash-completion \/etc\/bash_completion.d\/dahdi\nmake[4]: Saindo do diret\u00c3\u00b3rio `\/usr\/src\/dahdi-linux-complete-3.1.0+3.1.0\/tools'\nmake[3]: Saindo do diret\u00c3\u00b3rio `\/usr\/src\/dahdi-linux-complete-3.1.0+3.1.0\/tools'\nmake[2]: Saindo do diret\u00c3\u00b3rio `\/usr\/src\/dahdi-linux-complete-3.1.0+3.1.0\/tools'\nmake[1]: Saindo do diret\u00c3\u00b3rio `\/usr\/src\/dahdi-linux-complete-3.1.0+3.1.0\/tools'<\/code><\/pre>\n\n\n\n<p>Para resolver problemas como <strong><em>&#8220;pridump.c:45:24: fatal error: dahdi\/user.h:&#8221;<\/em><\/strong> basta instalar o kernel-devel corretamente, ao instalar lembre-se de alterar o <strong><em>&#8220;uname -r&#8221;<\/em><\/strong> pela vers\u00e3o que esse comando retornar, a n\u00e3o ser que utilize &#8220;crase&#8221; em volta do comando, ai o linux entender\u00e1 como comando e retornar\u00e1 automaticamente a vers\u00e3o do kernel.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#yum install kernel-devel-`uname -r`<\/code><\/pre>\n\n\n\n<p>Depois de instalar o dahdi-linux e tiver uma placa para ser instalada junto com o Asterisk, \u00e9 bom executar o comando de configura\u00e7\u00e3o do dahdi, veja:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code> make install-config<\/code><\/pre>\n\n\n\n<p>Veja a seguir o resultado do comando acima:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>make[5]: Saindo do diret\u00c3\u00b3rio `\/usr\/src\/dahdi-linux-complete-3.1.0+3.1.0\/tools'\nCompatibility symlinks (should be removed in the future)\nln -sf libtonezone.so.2.0.0 \/usr\/lib\/libtonezone.so.2.0\nmake[4]: Saindo do diret\u00c3\u00b3rio `\/usr\/src\/dahdi-linux-complete-3.1.0+3.1.0\/tools'\n \/usr\/bin\/mkdir -p '\/etc\/dahdi'\n \/usr\/bin\/install -c -m 644 system.conf.sample assigned-spans.conf.sample span-types.conf.sample modules.sample '\/etc\/dahdi'\n \/usr\/bin\/mkdir -p '\/usr\/include\/dahdi'\n \/usr\/bin\/install -c -m 644 tonezone.h '\/usr\/include\/dahdi'\n \/usr\/bin\/mkdir -p '\/etc\/udev\/rules.d'\n \/usr\/bin\/install -c -m 644 dahdi.rules '\/etc\/udev\/rules.d'\nmake  install-data-hook\nmake[4]: Entrando no diret\u00c3\u00b3rio `\/usr\/src\/dahdi-linux-complete-3.1.0+3.1.0\/tools'\nmkdir -p \/etc\/bash_completion.d\ninstall -m 644 .\/dahdi-bash-completion \/etc\/bash_completion.d\/dahdi\nmake[4]: Saindo do diret\u00c3\u00b3rio `\/usr\/src\/dahdi-linux-complete-3.1.0+3.1.0\/tools'\nmake[3]: Saindo do diret\u00c3\u00b3rio `\/usr\/src\/dahdi-linux-complete-3.1.0+3.1.0\/tools'\nmake[2]: Saindo do diret\u00c3\u00b3rio `\/usr\/src\/dahdi-linux-complete-3.1.0+3.1.0\/tools'\nmake[1]: Saindo do diret\u00c3\u00b3rio `\/usr\/src\/dahdi-linux-complete-3.1.0+3.1.0\/tools'\nmake -C tools install-config\nmake[1]: Entrando no diret\u00c3\u00b3rio `\/usr\/src\/dahdi-linux-complete-3.1.0+3.1.0\/tools'\nmkdir -p \/etc\/dahdi\nmkdir -p \/etc\/modprobe.d\ninstall -m644 xpp\/genconf_parameters \/etc\/dahdi\/genconf_parameters\ninstall -m644 init.conf.sample \/etc\/dahdi\/init.conf\ninstall -m644 blacklist.sample \/etc\/modprobe.d\/dahdi-blacklist.conf\ninstall -m644 modprobe.conf.sample \/etc\/modprobe.d\/dahdi.conf\nmake -f .\/Makefile.legacy top_srcdir=. srcdir=. config\nmake[2]: Entrando no diret\u00c3\u00b3rio `\/usr\/src\/dahdi-linux-complete-3.1.0+3.1.0\/tools'\ninstall -D dahdi.init \/etc\/rc.d\/init.d\/dahdi\ninstall -D ifup-hdlc \/etc\/sysconfig\/network-scripts\/ifup-hdlc\n\/sbin\/chkconfig --add dahdi\nDAHDI has been configured.\n\nList of detected DAHDI devices:\n\nNo hardware found\nmake[2]: Saindo do diret\u00c3\u00b3rio `\/usr\/src\/dahdi-linux-complete-3.1.0+3.1.0\/tools'\nmake[1]: Saindo do diret\u00c3\u00b3rio `\/usr\/src\/dahdi-linux-complete-3.1.0+3.1.0\/tools'<\/code><\/pre>\n\n\n\n<p>Veja que no final ele informou que n\u00e3o encontrou nenhum hardware presente.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Libpri<\/h2>\n\n\n\n<p>Depois da instala\u00e7\u00e3o do dahdi-linux \u00e9 poss\u00edvel instalar a libpri. Eu baixei, descompactei, compilei e instalei a seguinte vers\u00e3o libpri-1.6.0:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>wget https:\/\/downloads.asterisk.org\/pub\/telephony\/libpri\/libpri-1.6.0.tar.gz\ntar -xvzf libpri-1.6.0.tar.gz\ncd libpri-1.6.0\/\nmake all\nmake install<\/code><\/pre>\n\n\n\n<p>Veja o resultado da compila\u00e7\u00e3o do libpri:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>[root@localhost libpri-1.6.0]# make all\ngcc -g  -Wall -Werror -Wstrict-prototypes -Wmissing-prototypes -fPIC  -O2  -MD -MT pridump.o -MF .pridump.o.d -MP -c -o pridump.o pridump.c\ngcc -o pridump pridump.o -L. -lpri -g  -Wall -Werror -Wstrict-prototypes -Wmissing-prototypes -fPIC  -O2\ngcc -g  -Wall -Werror -Wstrict-prototypes -Wmissing-prototypes -fPIC  -O2  -MD -MT pritest.o -MF .pritest.o.d -MP -c -o pritest.o pritest.c\ngcc -o pritest pritest.o libpri.a -g  -Wall -Werror -Wstrict-prototypes -Wmissing-prototypes -fPIC  -O2\ngcc -g  -Wall -Werror -Wstrict-prototypes -Wmissing-prototypes -fPIC  -O2  -MD -MT rosetest.o -MF .rosetest.o.d -MP -c -o rosetest.o rosetest.c\ngcc -o rosetest rosetest.o libpri.a -g  -Wall -Werror -Wstrict-prototypes -Wmissing-prototypes -fPIC  -O2\ngcc -g  -Wall -Werror -Wstrict-prototypes -Wmissing-prototypes -fPIC  -O2  -D_REENTRANT -D_GNU_SOURCE -MD -MT testprilib.o -MF .testprilib.o.d -MP -c -o testprilib.o testprilib.c\ngcc -o testprilib testprilib.o libpri.a -lpthread -g  -Wall -Werror -Wstrict-prototypes -Wmissing-prototypes -fPIC  -O2\n[root@localhost libpri-1.6.0]# make install\nmkdir -p \/usr\/lib\nmkdir -p \/usr\/include\ninstall -m 644 libpri.h \/usr\/include\ninstall -m 755 libpri.so.1.4 \/usr\/lib\n#if [ -x \/usr\/sbin\/sestatus ] &amp;&amp; ( \/usr\/sbin\/sestatus | grep \"SELinux status:\" | grep -q \"enabled\"); then \/sbin\/restorecon -v \/usr\/lib\/libpri.so.1.4; fi\n( cd \/usr\/lib ; ln -sf libpri.so.1.4 libpri.so)\ninstall -m 644 libpri.a \/usr\/lib\nif test $(id -u) = 0; then \/sbin\/ldconfig -n \/usr\/lib; fi\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Voicerlib<\/h2>\n\n\n\n<p>Agora o pr\u00f3ximo passo \u00e9 instalar as bibliotecas da digivoice, eu baixei, descompactei, compilei e instalei a seguinte vers\u00e3o voicerlib-4.2.5.6.tar.gz:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>wget http:\/\/www.digivoice.com.br\/docs\/voicerlib-4.2.5.6.tar.gz\ntar -xvzf voicerlib-4.2.5.6.tar.gz\ncd voicerlib-4.2.5.6\/\nmake all\nmake install\nmake config<\/code><\/pre>\n\n\n\n<p>Veja o resultado do final da instala\u00e7\u00e3o acima:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>cc  -fPIC -std=gnu99 -D__LINUX__ -DK_ECHO -I..\/..\/..\/..\/src_common vbfxs.c -L..\/..\/..\/..\/src_linux -ldigivoice -lncurses -lpthread -lm -o vbfxs\nvbfxs.c: In function \u00e2ReceiveEvents\u00e2:\nvbfxs.c:157:7: warning: passing argument 1 of \u00e2sprintf\u00e2 makes pointer from integer without a cast [enabled by default]\n       sprintf(EventContext-> port, \"(EV_AFTERDIAL) - Erro ao iniciar ring. Ret %d\", ret);\n       ^\nIn file included from vbfxs.c:13:0:\n\/usr\/include\/stdio.h:364:12: note: expected \u00e2char * restrict\u00e2 but argument is of type \u00e2short unsigned int\u00e2\n extern int sprintf (char *__restrict __s,\n            ^\nvbfxs.c:159:7: warning: passing argument 1 of \u00e2sprintf\u00e2 makes pointer from integer without a cast [enabled by default]\n       sprintf(EventContext-> port, \"(EV_AFTERDIAL) - Iniciou ring com sucesso!\");\n       ^\nIn file included from vbfxs.c:13:0:\n\/usr\/include\/stdio.h:364:12: note: expected \u00e2char * restrict\u00e2 but argument is of type \u00e2short unsigned int\u00e2\n extern int sprintf (char *__restrict __s,\n            ^\ninstall -m 755 vbfxs \/usr\/bin\/vlib_vbfxs\nmake[1]: Saindo do diret\u00c3\u00b3rio `\/usr\/src\/voicerlib-4.2.5.6\/samples\/dll_so\/diags\/vbfxs'\nmake[1]: Entrando no diret\u00c3\u00b3rio `\/usr\/src\/voicerlib-4.2.5.6\/samples\/dll_so\/diags\/vbgsm'\ncc  -fPIC -std=gnu99 -D__LINUX__ -DK_ECHO -I..\/..\/..\/..\/src_common   -c -o vbgsm.o vbgsm.c\ncc  -fPIC -std=gnu99 -D__LINUX__ -DK_ECHO -I..\/..\/..\/..\/src_common vbgsm.c -L..\/..\/..\/..\/src_linux -ldigivoice -lncurses -lpthread -lm -o vbgsm\ninstall -m 755 vbgsm \/usr\/bin\/vlib_vbgsm\nmake[1]: Saindo do diret\u00c3\u00b3rio `\/usr\/src\/voicerlib-4.2.5.6\/samples\/dll_so\/diags\/vbgsm'\nmake[1]: Entrando no diret\u00c3\u00b3rio `\/usr\/src\/voicerlib-4.2.5.6\/samples\/dll_so\/diags\/vbtst'\ncc  -fPIC -std=gnu99 -D__LINUX__ -DK_ECHO -I..\/..\/..\/..\/src_common   -c -o vbtst.o vbtst.c\ncc  -fPIC -std=gnu99 -D__LINUX__ -DK_ECHO -I..\/..\/..\/..\/src_common vbtst.c -L..\/..\/..\/..\/src_linux -ldigivoice -lncurses -lpthread -lm -o vbtst\ninstall -m 755 vbtst \/usr\/bin\/vlib_vbtst\nmake[1]: Saindo do diret\u00c3\u00b3rio `\/usr\/src\/voicerlib-4.2.5.6\/samples\/dll_so\/diags\/vbtst'\n\n +-------- VoicerLib4 Install Complete -------+\n + VoicerLib4 has successfully been installed +\n +--------------------------------------------+\n[root@localhost voicerlib-4.2.5.6]# make config\nmake[1]: Entrando no diret\u00c3\u00b3rio `\/usr\/src\/voicerlib-4.2.5.6\/driver\/linux'\nSetting up the init script and system configuration...\n\nInstalling a Non-Debian init script\nmake[1]: Saindo do diret\u00c3\u00b3rio `\/usr\/src\/voicerlib-4.2.5.6\/driver\/linux'<\/code><\/pre>\n\n\n\n<p>Se o seguinte erro se apresentar <strong><em>&#8220;vlib_diag.c:30:21: fatal error: ncurses.h: Arquivo ou diret\u00c3\u00b3rio n\u00c3\u00a3o encontrado&#8221;<\/em><\/strong>, significa que faltou instalar a biblioteca ncurses. dai podemos resolver instalado com o seguinte comando:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>yum install ncurses*<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Asterisk<\/h2>\n\n\n\n<p>O pr\u00f3ximo passo seria a instala\u00e7\u00e3o do Asterisk. Eu baixei, descompactei, configurei, compilei e instalei a seguinte vers\u00e3o<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>wget https:\/\/downloads.asterisk.org\/pub\/telephony\/asterisk\/old-releases\/asterisk-11.25.3.tar.gz\ntar -xvzf asterisk-11.25.3.tar.gz\ncd asterisk-11.25.3\/\n.\/configure\nmake all\nmake install\nmake samples<\/code><\/pre>\n\n\n\n<p>O resultado positivo do comando &#8220;.\/configure&#8221; do Asterisk deve ser como o exemplo abaixo:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>checking for initscr in -lcurses... yes\nchecking curses.h usability... yes\nchecking curses.h presence... yes\nchecking for curses.h... yes\nchecking for initscr in -lncurses... yes\nchecking for curses.h... (cached) yes\nchecking for a sed that does not truncate output... \/usr\/bin\/sed\nchecking for xml2-config... \/bin\/xml2-config\nchecking for pkg-config... \/usr\/bin\/pkg-config\nchecking pkg-config is at least version 0.9.0... yes\nchecking for GTK2... no\nconfigure: creating .\/config.status\nconfig.status: creating makeopts\nconfig.status: creating autoconfig.h\nconfigure: Menuselect build configuration successfully completed\n\n               .$$$$$$$$$$$$$$$=..\n            .$7$7..          .7$$7:.\n          .$$:.                 ,$7.7\n        .$7.     7$$$$           .$$77\n     ..$$.       $$$$$            .$$$7\n    ..7$   .?.   $$$$$   .?.       7$$$.\n   $.$.   .$$$7. $$$$7 .7$$$.      .$$$.\n .777.   .$$$$$$77$$$77$$$$$7.      $$$,\n $$$~      .7$$$$$$$$$$$$$7.       .$$$.\n.$$7          .7$$$$$$$7:          ?$$$.\n$$$          ?7$$$$$$$$$$I        .$$$7\n$$$       .7$$$$$$$$$$$$$$$$      :$$$.\n$$$       $$$$$$7$$$$$$$$$$$$    .$$$.\n$$$        $$$   7$$$7  .$$$    .$$$.\n$$$$             $$$$7         .$$$.\n7$$$7            7$$$$        7$$$\n $$$$$                        $$$\n  $$$$7.                       $$  (TM)\n   $$$$$$$.           .7$$$$$$  $$\n     $$$$$$$$$$$$7$$$$$$$$$.$$$$$$\n       $$$$$$$$$$$$$$$$.\n\nconfigure: Package configured for:\nconfigure: OS type  : linux-gnu\nconfigure: Host CPU : x86_64\nconfigure: build-cpu:vendor:os: x86_64 : unknown : linux-gnu :\nconfigure: host-cpu:vendor:os: x86_64 : unknown : linux-gnu :<\/code><\/pre>\n\n\n\n<p>O fim do resultado da compila\u00e7\u00e3o do asterisk deve ser parecido como a seguir:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>checking for mawk... gawk\nchecking host system type... x86_64-unknown-linux-gnu\nchecking for a BSD compatible install... \/usr\/bin\/install -c\nchecking for ranlib... ranlib\nchecking for ar... \/usr\/bin\/ar\nchecking for tgetent in -ltermcap... yes\nchecking for termcap.h... yes\nchecking for sys\/cdefs.h... yes\nchecking for vis.h... no\nchecking for issetugid... no\nchecking for fgetln... no\nchecking for strvis... no\nchecking for strunvis... no\nchecking for strlcpy... no\nchecking for strlcat... no\nupdating cache .\/config.cache\ncreating .\/config.status\ncreating Makefile\ncreating makelist\ncreating config.h\n   [LD] abstract_jb.o acl.o adsi.o alaw.o aoc.o app.o ast_expr2.o ast_expr2f.o asterisk.o astfd.o astmm.o astobj2.o audiohook.o autochan.o autoservice.o bridging.o callerid.o ccss.o cdr.o cel.o channel.o channel_internal_api.o chanvars.o cli.o config.o config_options.o data.o datastore.o db.o devicestate.o dial.o dns.o dnsmgr.o dsp.o enum.o event.o features.o file.o fixedjitterbuf.o format.o format_cap.o format_pref.o frame.o framehook.o fskmodem.o global_datastores.o hashtab.o heap.o http.o image.o indications.o io.o jitterbuf.o loader.o lock.o logger.o manager.o md5.o message.o named_acl.o netsock.o netsock2.o pbx.o plc.o poll.o presencestate.o privacy.o rtp_engine.o say.o sched.o security_events.o sha1.o sip_api.o slinfactory.o srv.o stdtime\/localtime.o strcompat.o strings.o stun.o syslog.o taskprocessor.o tcptls.o tdd.o term.o test.o threadstorage.o timing.o translate.o udptl.o ulaw.o utils.o version.o xml.o xmldoc.o editline\/libedit.a  -> asterisk\nBuilding Documentation For: channels pbx apps codecs formats cdr cel bridges funcs tests main res addons\n +--------- Asterisk Build Complete ---------+\n + Asterisk has successfully been built, and +\n + can be installed by running:              +\n +                                           +\n +                make install               +\n +-------------------------------------------+<\/code><\/pre>\n\n\n\n<p>O final do resultado da instala\u00e7\u00e3o do asterisk deve ser parecido com o a seguir:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/usr\/bin\/install -c -m 644 doc\/core-en_US.xml \"\/var\/lib\/asterisk\/static-http\";\nif [ -d doc\/tex\/asterisk ] ; then \\\n        \/usr\/bin\/install -c -d \"\/var\/lib\/asterisk\/static-http\/docs\" ; \\\n        for n in doc\/tex\/asterisk\/* ; do \\\n                \/usr\/bin\/install -c -m 644 $n \"\/var\/lib\/asterisk\/static-http\/docs\" ; \\\n        done \\\nfi\nfor x in images\/*.jpg; do \\\n        \/usr\/bin\/install -c -m 644 $x \"\/var\/lib\/asterisk\/images\" ; \\\ndone\nmake -C sounds install\nmake[1]: Entrando no diret\u00c3\u00b3rio `\/usr\/src\/asterisk-11.25.3\/sounds'\nmake[1]: Saindo do diret\u00c3\u00b3rio `\/usr\/src\/asterisk-11.25.3\/sounds'\n +---- Asterisk Installation Complete -------+\n +                                           +\n +    YOU MUST READ THE SECURITY DOCUMENT    +\n +                                           +\n + Asterisk has successfully been installed. +\n + If you would like to install the sample   +\n + configuration files (overwriting any      +\n + existing config files), run:              +\n +                                           +\n +                make samples               +\n +                                           +\n +-----------------  or ---------------------+\n +                                           +\n + You can go ahead and install the asterisk +\n + program documentation now or later run:   +\n +                                           +\n +               make progdocs               +\n +                                           +\n + **Note** This requires that you have      +\n + doxygen installed on your local system    +\n +-------------------------------------------+<\/code><\/pre>\n\n\n\n<p>O final do resultado da gera\u00e7\u00e3o dos arquivos de exemplo do asterisk deve ser como a seguir:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Installing file configs\/unistim.conf.sample\nInstalling file configs\/users.conf.sample\nInstalling file configs\/voicemail.conf.sample\nInstalling file configs\/vpb.conf.sample\nInstalling file configs\/xmpp.conf.sample\nif [ \"y\" = \"y\" ]; then \\\n        echo \"Updating asterisk.conf\" ; \\\n        sed -e 's|^astetcdir.*$|astetcdir => \/etc\/asterisk|' \\\n                -e 's|^astmoddir.*$|astmoddir => \/usr\/lib\/asterisk\/modules|' \\\n                -e 's|^astvarlibdir.*$|astvarlibdir => \/var\/lib\/asterisk|' \\\n                -e 's|^astdbdir.*$|astdbdir => \/var\/lib\/asterisk|' \\\n                -e 's|^astkeydir.*$|astkeydir => \/var\/lib\/asterisk|' \\\n                -e 's|^astdatadir.*$|astdatadir => \/var\/lib\/asterisk|' \\\n                -e 's|^astagidir.*$|astagidir => \/var\/lib\/asterisk\/agi-bin|' \\\n                -e 's|^astspooldir.*$|astspooldir => \/var\/spool\/asterisk|' \\\n                -e 's|^astrundir.*$|astrundir => \/var\/run\/asterisk|' \\\n                -e 's|^astlogdir.*$|astlogdir => \/var\/log\/asterisk|' \\\n                -e 's|^astsbindir.*$|astsbindir => \/usr\/sbin|' \\\n                \"\/etc\/asterisk\/asterisk.conf\" > \"\/etc\/asterisk\/asterisk.conf.tmp\" ; \\\n        \/usr\/bin\/install -c -m 644 \"\/etc\/asterisk\/asterisk.conf.tmp\" \"\/etc\/asterisk\/asterisk.conf\" ; \\\n        rm -f \"\/etc\/asterisk\/asterisk.conf.tmp\" ; \\\nfi ; \\\n\/usr\/bin\/install -c -d \"\/var\/spool\/asterisk\/voicemail\/default\/1234\/INBOX\"\nUpdating asterisk.conf\nbuild_tools\/make_sample_voicemail \"\/\/var\/lib\/asterisk\" \"\/\/var\/spool\/asterisk\"\nInstalling file phoneprov\/000000000000.cfg\nInstalling file phoneprov\/000000000000-directory.xml\nInstalling file phoneprov\/000000000000-phone.cfg\nInstalling file phoneprov\/polycom_line.xml\nInstalling file phoneprov\/polycom.xml\nInstalling file phoneprov\/snom-mac.xml<\/code><\/pre>\n\n\n\n<p>Se ocorrer o seguinte erro <strong><em>&#8220;configure: *** or install the &#8216;libxml2&#8217; development package.&#8221;<\/em><\/strong>, significa que est\u00e1 faltando a biblioteca xml2. Para resolver basta instalar com o seguinte comando:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>yum install libxml2*<\/code><\/pre>\n\n\n\n<p> Se ocorrer o seguinte erro <strong><em>&#8220;configure: error: *** Asterisk now uses SQLite3 for the internal Asterisk database.&#8221;<\/em><\/strong>, significa que est\u00e1 faltando o SDB sqlite3. Para resolver basta consultar a vers\u00e3o mais adequada para o CentOS com o comando <strong><em>&#8220;yum list | grep sqlite&#8221;<\/em><\/strong>, encontrar a vers\u00e3o, que no meu caso foi a &#8220;sqlite-devel.x86_64&#8221; e instalar com o seguinte comando: <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>yum install sqlite-devel.x86_64<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">DGVChannel<\/h2>\n\n\n\n<p>O pr\u00f3ximo passo agora \u00e9 instalar os drivers da Digivoice, referente aos canais DDR, conhecidos como DGVChannel. Eu baixei, descompactei, compilei e instalei a seguinte vers\u00e3o dgvchannel-1.1.8.tar.gz:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>wget http:\/\/www.digivoice.com.br\/docs\/dgvchannel-1.1.8.tar.gz\ntar -xvzf dgvchannel-1.1.8.tar.gz\ncd dgvchannel-1.1.8\/\nln -s \/usr\/include\/ \/usr\/src\/libpri\nln -s \/usr\/src\/asterisk-11.25.3 \/usr\/src\/asterisk\nmake\nmake install\nmake config\nmake install_config<\/code><\/pre>\n\n\n\n<p>O final do resultado da compila\u00e7\u00e3o do DGVChannel deve ser como a seguir:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>gcc -shared -Xlinker -x -o app_dggsmchangecsca.so app_dggsmchangecsca.o -ldigivoice\ngcc -std=gnu99 -pipe -fPIC -Wall -Wmissing-prototypes -Wmissing-declarations  -I\/usr\/src\/asterisk\/include -D_REENTRANT -D_GNU_SOURCE -D__LINUX__    -c -o auto_conf_dgv.o auto_conf_dgv.c\ngcc -o auto_conf_dgv -std=gnu99 -pipe -fPIC -Wall -Wmissing-prototypes -Wmissing-declarations  -I\/usr\/src\/asterisk\/include -D_REENTRANT -D_GNU_SOURCE -D__LINUX__  auto_conf_dgv.o -I\/usr\/include\/voicerlib -pthread -ldigivoice -lm\nmake -C fifodev\nmake[1]: Entrando no diret\u00c3\u00b3rio `\/usr\/src\/dgvchannel-1.1.8\/fifodev'\nBuilding FIFO device for kernel 3.x...\n\nmake -C \/lib\/modules\/3.10.0-1127.el7.x86_64\/build -I\/usr\/include\/asm\/mach-default\/ SUBDIRS=\/usr\/src\/dgvchannel-1.1.8\/fifodev modules\nmake[2]: Entrando no diret\u00c3\u00b3rio `\/usr\/src\/kernels\/3.10.0-1127.el7.x86_64'\n  CC [M]  \/usr\/src\/dgvchannel-1.1.8\/fifodev\/dgvfifo.o\n  Building modules, stage 2.\n  MODPOST 1 modules\n  CC      \/usr\/src\/dgvchannel-1.1.8\/fifodev\/dgvfifo.mod.o\n  LD [M]  \/usr\/src\/dgvchannel-1.1.8\/fifodev\/dgvfifo.ko\nmake[2]: Saindo do diret\u00c3\u00b3rio `\/usr\/src\/kernels\/3.10.0-1127.el7.x86_64'\nmake[1]: Saindo do diret\u00c3\u00b3rio `\/usr\/src\/dgvchannel-1.1.8\/fifodev'\n\n######## Channel Driver Build Complete ########\n# Channel Driver has successfully been built, #\n# and can be installed by running:            #\n#                                             #\n#                make install                 #\n###############################################<\/code><\/pre>\n\n\n\n<p> O resultado da instala\u00e7\u00e3o do DGVChannel deve ser como a seguir: <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>make -C fifodev\nmake[1]: Entrando no diret\u00c3\u00b3rio `\/usr\/src\/dgvchannel-1.1.8\/fifodev'\nBuilding FIFO device for kernel 3.x...\n\nmake -C \/lib\/modules\/3.10.0-1127.el7.x86_64\/build -I\/usr\/include\/asm\/mach-default\/ SUBDIRS=\/usr\/src\/dgvchannel-1.1.8\/fifodev modules\nmake[2]: Entrando no diret\u00c3\u00b3rio `\/usr\/src\/kernels\/3.10.0-1127.el7.x86_64'\n  Building modules, stage 2.\n  MODPOST 1 modules\nmake[2]: Saindo do diret\u00c3\u00b3rio `\/usr\/src\/kernels\/3.10.0-1127.el7.x86_64'\nmake[1]: Saindo do diret\u00c3\u00b3rio `\/usr\/src\/dgvchannel-1.1.8\/fifodev'\n\n######## Channel Driver Build Complete ########\n# Channel Driver has successfully been built, #\n# and can be installed by running:            #\n#                                             #\n#                make install                 #\n###############################################\ninstall -d -m 755 \/usr\/lib\/asterisk\/modules\nmake install -C fifodev\nmake[1]: Entrando no diret\u00c3\u00b3rio `\/usr\/src\/dgvchannel-1.1.8\/fifodev'\nBuilding FIFO device for kernel 3.x...\n\nmake -C \/lib\/modules\/3.10.0-1127.el7.x86_64\/build -I\/usr\/include\/asm\/mach-default\/ SUBDIRS=\/usr\/src\/dgvchannel-1.1.8\/fifodev modules\nmake[2]: Entrando no diret\u00c3\u00b3rio `\/usr\/src\/kernels\/3.10.0-1127.el7.x86_64'\n  Building modules, stage 2.\n  MODPOST 1 modules\nmake[2]: Saindo do diret\u00c3\u00b3rio `\/usr\/src\/kernels\/3.10.0-1127.el7.x86_64'\nInstalling the FIFO device module...\n\ninstall -d \/lib\/modules\/3.10.0-1127.el7.x86_64\/misc\ninstall -m 664 dgvfifo.ko \/lib\/modules\/3.10.0-1127.el7.x86_64\/misc\nif [ -d \/etc\/modutils ]; then  \\\n        \/sbin\/update-modules; \\\nfi\n\/sbin\/depmod -a\n.\/create_inodes.sh\nKernel 2.X...\nLoading dgvfifo.ko...\nAllocating major number = 243\nCreating \/dev\/dgvfifo...\nCreating fifo inodes...\nDone!\nmake[1]: Saindo do diret\u00c3\u00b3rio `\/usr\/src\/dgvchannel-1.1.8\/fifodev'\nfor x in chan_dgv.so app_dgccb.so app_dgflash.so app_dggetstatistics.so app_dggetunreadsms.so app_dgsendr2groupb.so app_dgsendsms.so app_dgsendisdnsig.so app_dggsmchangecsca.so; do install -m 755 $x \/usr\/lib\/asterisk\/modules ; done\nif [ -d \/usr\/lib64\/asterisk\/modules ]; then \\\n        for x in chan_dgv.so app_dgccb.so app_dgflash.so app_dggetstatistics.so app_dggetunreadsms.so app_dgsendr2groupb.so app_dgsendsms.so app_dgsendisdnsig.so app_dggsmchangecsca.so; do install -m 755 $x \/usr\/lib64\/asterisk\/modules ; done \\\nfi\nmkdir -p -m 777 \/var\/lib\/voicerlib\/statistics\n####################################################\n#                                                  #\n# Foram instalados em \/usr\/lib\/asterisk\/modules    #\n# os modulos:                                      #\n#                                                  #\n# chan_dgv.so - o channel para placas Digivoice    #\n#                                                  #\n# app_dgccb.so - aplicacao CollectCallBlock para   #\n#                ser utilizado no dialplan per-    #\n#                mitindo o bloqueio de chamadas a  #\n#                cobrar.                           #\n#                                                  #\n# app_dgflash.so - aplicacao Flash para ser uti-   #\n#                  lizado no dialplan permitindo   #\n#                  executar um flash na linha.     #\n#                                                  #\n# app_dggetstatistics.so - aplicacao GetStatistics #\n#                          para ser utilizado no   #\n#                          dialplan permitindo     #\n#                          recuperar a quantidade  #\n#                          de segundos utilizados  #\n#                          em um canal\/porta.      #\n#                                                  #\n# app_dggetunreadsms.so - aplicacao GetUnReadSMS   #\n#                         para ser utilizado no    #\n#                         dialplan permitindo      #\n#                         ler mensagens SMS ainda  #\n#                         nao lidas.               #\n#                                                  #\n# app_dgsendr2groupb.so - aplicacao SendR2GroupB   #\n#                         para ser utilizado no    #\n#                         dialplan permitindo      #\n#                         enviar uma sinalizacao   #\n#                         de grupo B em um         #\n#                         canal\/porta R2.          #\n#                                                  #\n# app_dgsendsms.so - aplicacao SendSMS para ser    #\n#                    utilizado no dialplan permi-  #\n#                    tindo enviar um SMS em um     #\n#                    canal\/porta GSM.              #\n#                                                  #\n# app_dgsendisdnsig.so - aplicacao SendISDNSig     #\n#                        para ser utilizado no     #\n#                        dialplan permitindo       #\n#                        enviar uma sinalizacao    #\n#                        em um canal\/porta ISDN.   #\n#                                                  #\n# app_dggsmchangecsca.so - aplicacao GSMChangeCSCA #\n#                          para ser utilizado no   #\n#                          dialplan permitindo     #\n#                          ler\/alterar o endereco  #\n#                          do servico de SMS       #\n#                          (SMSC address).         #\n#                                                  #\n# Atencao: Se essa for a primeira instalacao, eh   #\n# necessario instalar o digivoice.conf no          #\n# diretorio do Asterisk (\/etc\/asterisk). Para      #\n# isso, utilize o comando:                         #\n# make install_config                              #\n#                                                  #\n# O arquivo esta pre-configurado para trabalhar    #\n# com as placas detectadas em sua maquina, voce    #\n# pode edita-lo para outras configuracoes.         #\n#                                                  #\n####################################################<\/code><\/pre>\n\n\n\n<p>Se o seguinte erro aparecer <strong><em>&#8220;asterisk: error while loading shared libraries: libasteriskssl.so.1: cannot open shared object file: No such file or directory&#8221;<\/em><\/strong>, provavelmente que a biblioteca foi instalada no diret\u00f3rio <strong>&#8220;\/usr\/lib\/&#8221;<\/strong> e por algum erro n\u00e3o copiou para o diret\u00f3rio <strong>&#8220;\/usr\/lib64\/&#8221;<\/strong>. Para resolver basta criar um link simb\u00f3lico:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ln -s \/usr\/lib\/libasteriskssl.so.1 \/usr\/lib64\/libasteriskssl.so.1<\/code><\/pre>\n\n\n\n<p>Agora para ligar e acessar o asterisk digite os seguintes comandos:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>asterisk\nasterisk -rvvvvvvvvvvv<\/code><\/pre>\n\n\n\n<p>Agora dentro do console do asterisk podemos verificar os canais dispon\u00edveis pelo seguinte comando:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code> dgv show channels<\/code><\/pre>\n\n\n\n<p>O resultado deve ser algo parecido como a seguir:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>localhost*CLI> dgv show channels\nList of available DigiVoice Channels\n\n Chan Grp Context          PortId       Rsrvd Alrmd Lckd Extension   CardType     Intrf.\n\n    1   1 from-pstn        1145678901       0     1 no               VB3030PCIe   R2\/ISDN\n    2   1 from-pstn        1145678901       0     1 no               VB3030PCIe   R2\/ISDN\n    3   1 from-pstn        1145678901       0     1 no               VB3030PCIe   R2\/ISDN\n    4   1 from-pstn        1145678901       0     1 no               VB3030PCIe   R2\/ISDN\n    5   1 from-pstn        1145678901       0     1 no               VB3030PCIe   R2\/ISDN\n    6   1 from-pstn        1145678901       0     1 no               VB3030PCIe   R2\/ISDN\n    7   1 from-pstn        1145678901       0     1 no               VB3030PCIe   R2\/ISDN\n    8   1 from-pstn        1145678901       0     1 no               VB3030PCIe   R2\/ISDN\n    9   1 from-pstn        1145678901       0     1 no               VB3030PCIe   R2\/ISDN\n   10   1 from-pstn        1145678901       0     1 no               VB3030PCIe   R2\/ISDN\n   11   1 from-pstn        1145678901       0     1 no               VB3030PCIe   R2\/ISDN\n   12   1 from-pstn        1145678901       0     1 no               VB3030PCIe   R2\/ISDN\n   13   1 from-pstn        1145678901       0     1 no               VB3030PCIe   R2\/ISDN\n   14   1 from-pstn        1145678901       0     1 no               VB3030PCIe   R2\/ISDN\n   15   1 from-pstn        1145678901       0     1 no               VB3030PCIe   R2\/ISDN\n   16   1 from-pstn        1145678901       0     1 no               VB3030PCIe   R2\/ISDN\n   17   1 from-pstn        1145678901       0     1 no               VB3030PCIe   R2\/ISDN\n   18   1 from-pstn        1145678901       0     1 no               VB3030PCIe   R2\/ISDN\n   19   1 from-pstn        1145678901       0     1 no               VB3030PCIe   R2\/ISDN\n   20   1 from-pstn        1145678901       0     1 no               VB3030PCIe   R2\/ISDN\n\n Chan Grp Context          PortId       Rsrvd Alrmd Lckd Extension   CardType     Intrf.\n\n   21   1 from-pstn        1145678901       0     1 no               VB3030PCIe   R2\/ISDN\n   22   1 from-pstn        1145678901       0     1 no               VB3030PCIe   R2\/ISDN\n   23   1 from-pstn        1145678901       0     1 no               VB3030PCIe   R2\/ISDN\n   24   1 from-pstn        1145678901       0     1 no               VB3030PCIe   R2\/ISDN\n   25   1 from-pstn        1145678901       0     1 no               VB3030PCIe   R2\/ISDN\n   26   1 from-pstn        1145678901       0     1 no               VB3030PCIe   R2\/ISDN\n   27   1 from-pstn        1145678901       0     1 no               VB3030PCIe   R2\/ISDN\n   28   1 from-pstn        1145678901       0     1 no               VB3030PCIe   R2\/ISDN\n   29   1 from-pstn        1145678901       0     1 no               VB3030PCIe   R2\/ISDN\n   30   1 from-pstn        1145678901       0     1 no               VB3030PCIe   R2\/ISDN<\/code><\/pre>\n\n\n\n<p>Para ver os status da comunica\u00e7\u00e3o com o link E1 digite o seguinte comando:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>dgv show alarms 1<\/code><\/pre>\n\n\n\n<p>O resultado dever ser algo como a seguir:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>localhost*CLI> dgv show alarms 1\n\n       DigiVoice - Alarmes E1 - Placa E1: 1\n\n   +---[ Span: 1 ]----------------+\n   |                              |\n   |  ALARM_LOSS       On    001  |\n   |  ALARM_AISS       Off   000  |\n   |  ALARM_AIS16S     Off   000  |\n   |  ALARM_SYNC       Off   000  |\n   |  ALARM_MFSYNC     Off   000  |\n   |  ALARM_RAIS       Off   000  |\n   |  ALARM_CRC4SYNC   Off   000  |\n   |  ALARM_LINKDOWN   Off   000  |\n   |  ALARM_RSLIP            000  |\n   |                              |\n   |  Ultimo Reset:               |\n   |  2020-07-16 18:01:47         |\n   |                              |\n   +------------------------------+\n\n       Descricoes dos Alarmes:\n        |\n        |_ ALARM_LOSS     - Indicacao de Perda de Sinal.\n        |_ ALARM_AISS     - Status de Indicacao de Alarme.\n        |_ ALARM_AIS16S   - Indicacao de Alarme no Canal 16.\n        |_ ALARM_SYNC     - Perda de Sincronismo de Quadro.\n        |_ ALARM_MFSYNC   - Perda de Sincronismo de Multiquadro.\n        |_ ALARM_RAIS     - Indicacao de Alarme Remoto.\n        |_ ALARM_CRC4SYNC - Erro de CRC-4.\n        |_ ALARM_LINKDOWN - Indicacao do Status de Protocolo ISDN.\n        |_ ALARM_RSLIP    - Escorregamento.<\/code><\/pre>\n\n\n\n<p>Pronto, agora estamos prontos para configurar as l\u00f3gicas do asterisk para receber e realizar liga\u00e7\u00f5es.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Configurando o ODBC<\/h2>\n\n\n\n<p><strong>Configurando a conex\u00e3o com o banco de dados asterisk no arquivo res_config_mysql.conf:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">[general] <br> dbhost = 127.0.0.1<br> dbname = asterisk<br> dbuser =  meu usu\u00e1rio <br> dbpass =  minha senha<br> dbport = 3306<br> dbsock = \/tmp\/mysql.sock<br> dbcharset = latin1<br> requirements=warn ; or createclose or createchar<\/pre>\n\n\n\n<p><strong>\/etc\/odbcinst.ini<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">[MySQL]<br> Description    = ODBCforMySQL<br> Driver         = \/usr\/lib\/libmyodbc5.so<br> Setup          = \/usr\/lib\/libodbcmyS.so<br> Driver64       = \/usr\/lib64\/libmyodbc5.so<br> Setup64        = \/usr\/lib64\/libodbcmyS.so<br> FileUsage      = 1<\/pre>\n\n\n\n<p><strong> \/etc\/odbc.ini<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">[asteriskconnector]<br> Description = ODBCforMySQL<br> Driver = MySQL<br> Database = asterisk<br> Server = localhost<br> Port = 3306<br> Socket = \/tmp\/mysql.sock<\/pre>\n\n\n\n<p><strong> \/etc\/asterisk\/res_odbc.conf<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">[asterisk]<br> enabled =&gt; yes<br> dsn =&gt; asteriskconnector<br> username =&gt; meu usu\u00e1rio<br> password =&gt; minha senha<br> pre-connect =&gt; yes<\/pre>\n\n\n\n<p><strong> \/etc\/asterisk\/cdr_adaptive_odbc.conf<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">[asterisk]<br> connection=asterisk<br> table=cdr<br> alias start =&gt; calldate<\/pre>\n\n\n\n<p><strong> \/etc\/asterisk\/cdr_odbc.conf<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">[global]<br> dsn=asteriskconnector<br> loguniqueid=yes<br> dispositionstring=yes<br> table=cdr               <br> usegmtime=no           <br> hrtime=yes           <br> newcdrcolumns=yes<\/pre>\n\n\n\n<p><strong>Testando sem senha:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"># isql -v asteriskconnector<br> +---------------------------------------+<br> | Connected!                                           |<br> |                                                                 |<br> | sql-statement                                       |<br> | help [tablename]                                 |<br> | quit                                                         |<br> |                                                                 |<br> +---------------------------------------+<\/pre>\n\n\n\n<p><strong>Tabela CDR:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">mysql&gt; desc asterisk.cdr;<br> +-------------+--------------+------+-----+---------------------+-------+<br> | Field       | Type         | Null | Key | Default             | Extra |<br> +-------------+--------------+------+-----+---------------------+-------+<br> | uniqueid    | varchar(32)  | NO   | PRI |                     |       |<br> | linkedid    | varchar(32)  | NO   |     |                     |       |<br> | clid        | varchar(80)  | NO   |     |                     |       |<br> | src         | varchar(80)  | NO   |     |                     |       |<br> | dst         | varchar(80)  | NO   | MUL |                     |       |<br> | dcontext    | varchar(80)  | NO   |     |                     |       |<br> | channel     | varchar(80)  | NO   |     |                     |       |<br> | dstchannel  | varchar(80)  | NO   |     |                     |       |<br> | lastapp     | varchar(80)  | NO   |     |                     |       |<br> | lastdata    | varchar(80)  | NO   |     |                     |       |<br> | start       | datetime     | NO   | MUL | 0000-00-00 00:00:00 |       |<br> | answer      | datetime     | NO   |     | 0000-00-00 00:00:00 |       |<br> | end         | datetime     | NO   |     | 0000-00-00 00:00:00 |       |<br> | duration    | int(11)      | NO   |     | 0                   |       |<br> | billsec     | int(11)      | NO   |     | 0                   |       |<br> | disposition | varchar(45)  | NO   |     |                     |       |<br> | amaflags    | int(11)      | NO   |     | 0                   |       |<br> | accountcode | varchar(20)  | NO   | MUL |                     |       |<br> | userfield   | varchar(255) | NO   |     |                     |       |<br> | sequence    | varchar(32)  | NO   |     |                     |       |<br> | peeraccount | varchar(32)  | NO   |     |                     |       |<br> +-------------+--------------+------+-----+---------------------+-------+<br> 21 rows in set (0,00 sec)<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\"># CREATE USER 'asterisk'@'%' IDENTIFIED BY 'coloque a senha aqui';\n# CREATE DATABASE asterisk;\n# USE asterisk;\n# GRANT ALL PRIVILEGES ON asterisk.* TO 'asterisk'@'%';\n\n <strong>CREATE SCHEMA IF NOT EXISTS `asterisk` DEFAULT CHARACTER SET utf8;<\/strong>\n <strong>CREATE TABLE IF NOT EXISTS `asterisk`.`cdr` (<\/strong>\n <strong> `uniqueid` VARCHAR(32) NOT NULL DEFAULT '' ,<\/strong>\n <strong> `linkedid` VARCHAR(32) NOT NULL DEFAULT '' ,<\/strong>\n <strong> `clid` VARCHAR(80) NOT NULL DEFAULT '' ,<\/strong>\n <strong> `src` VARCHAR(80) NOT NULL DEFAULT '' ,<\/strong>\n <strong> `dst` VARCHAR(80) NOT NULL DEFAULT '' ,<\/strong>\n <strong> `dcontext` VARCHAR(80) NOT NULL DEFAULT '' ,<\/strong>\n <strong> `channel` VARCHAR(80) NOT NULL DEFAULT '' ,<\/strong>\n <strong> `dstchannel` VARCHAR(80) NOT NULL DEFAULT '' ,<\/strong>\n <strong> `lastapp` VARCHAR(80) NOT NULL DEFAULT '' ,<\/strong>\n <strong> `lastdata` VARCHAR(80) NOT NULL DEFAULT '' ,<\/strong>\n <strong> `start` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00' ,<\/strong>\n <strong> `answer` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00' ,<\/strong>\n <strong> `end` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00' ,<\/strong>\n <strong> `duration` INT(11) NOT NULL DEFAULT '0' ,<\/strong>\n <strong> `billsec` INT(11) NOT NULL DEFAULT '0' ,<\/strong>\n <strong> `disposition` VARCHAR(45) NOT NULL DEFAULT '' ,<\/strong>\n <strong> `amaflags` INT(11) NOT NULL DEFAULT '0' ,<\/strong>\n <strong> `accountcode` VARCHAR(20) NOT NULL DEFAULT '' ,<\/strong>\n <strong> `userfield` VARCHAR(255) NOT NULL DEFAULT '' ,<\/strong>\n <strong> `sequence` VARCHAR(32) NOT NULL DEFAULT '' ,<\/strong>\n <strong> `peeraccount` VARCHAR(32) NOT NULL DEFAULT '' ,<\/strong>\n <strong> PRIMARY KEY (`uniqueid`) ,<\/strong>\n <strong> INDEX `start` (`start` ASC) ,<\/strong>\n <strong> INDEX `dst` (`dst` ASC) ,<\/strong>\n <strong> INDEX `accountcode` (`accountcode` ASC) )<\/strong>\n <strong>ENGINE = InnoDB<\/strong>\n <strong>DEFAULT CHARACTER SET = utf8;<\/strong><\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">INSERT INTO cdr (uniqueid,linkedid,clid,src,dst,dcontext,channel,dstchannel,lastapp,lastdata,start,answer,end,duration,billsec,disposition,amaflags,sequence) VALUES ('1596239844.8','1596239844.8','\"1099\" &lt;1099&gt;','1099','3101','from-pstn','SIP\/1099-00000008','SIP\/186.227.176.9:5060-00000009','Dial','SIP\/08000753100@186.227.176.9:5060,90,tT',{ ts '2020-07-31 20:57:24' },{ ts '2020-07-31 20:57:24' },{ ts '2020-07-31 20:57:27' },3,3,'ANSWERED',3,'12')<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">SIP REALTIME<\/h2>\n\n\n\n<p><strong>Criando a tabela dos ramais SIP no banco asterisk:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">CREATE TABLE <code>sippeers<\/code> (<br>   <code>id<\/code> int(11) NOT NULL AUTO_INCREMENT,<br>   <code>name<\/code> varchar(80) NOT NULL DEFAULT '',<br>   <code>context<\/code> varchar(80) DEFAULT 'clientes',<br>   <code>secret<\/code> varchar(80) DEFAULT NULL,<br>   <code>host<\/code> varchar(31) NOT NULL DEFAULT 'dynamic',<br>   <code>nat<\/code> varchar(5) NOT NULL DEFAULT 'yes',<br>   <code>type<\/code> enum('user','peer','friend') NOT NULL DEFAULT 'friend',<br>   <code>callerid<\/code> varchar(80) DEFAULT NULL,<br>   <code>qualify<\/code> char(3) DEFAULT 'yes',<br>   <code>rtptimeout<\/code> char(10) DEFAULT NULL,<br>   <code>username<\/code> varchar(80) NOT NULL DEFAULT '',<br>   <code>lastms<\/code> int(11) NOT NULL,<br>   <code>regseconds<\/code> int(11) NOT NULL DEFAULT '0',<br>   <code>useragent<\/code> varchar(50) NOT NULL DEFAULT '',<br>   <code>ipaddr<\/code> varchar(45) DEFAULT NULL,<br>   <code>port<\/code> int(5) DEFAULT NULL,<br>   <code>fullcontact<\/code> varchar(35) DEFAULT NULL,<br>   <code>regserver<\/code> varchar(20) DEFAULT NULL,<br>   <code>deny<\/code> varchar(40) DEFAULT NULL,<br>   <code>disallow<\/code> text,<br>   <code>insecure<\/code> text,<br>   <code>fromuser<\/code> text,<br>   <code>permit<\/code> varchar(40) DEFAULT NULL,<br>   <code>callbackextension<\/code> varchar(40) DEFAULT NULL,<br>   <code>dtmfmode<\/code> enum('rfc2833','info','shortinfo','inband','auto') DEFAULT NULL,<br>   <code>ip<\/code> varchar(15) DEFAULT NULL,<br>   <code>status<\/code> varchar(30) DEFAULT NULL,<br>   <code>defaultuser<\/code> varchar(10) DEFAULT NULL,<br>   <code>call-limit<\/code> int(11) DEFAULT NULL,<br>   PRIMARY KEY (<code>id<\/code>),<br>   KEY <code>name<\/code> (<code>name<\/code>)<br> );<\/pre>\n\n\n\n<p><strong>Criando o primeiro ramal SIP:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">INSERT INTO asterisk.sippeers SET name='1099', context='default', Secret='minhasenhamaluca';<\/pre>\n\n\n\n<p><strong>Adicionando o apontamento da tabela realtime no arquivo  extconfig.conf:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">[settings]\n sippeers =&gt;odbc,asterisk,sippeers<\/pre>\n\n\n\n<p><strong>Reiniciando o asterisk para receber as novas configura\u00e7\u00f5es:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">asterisk -rx \"core restart now\"<\/pre>\n\n\n\n<p><strong>Acessando os logs completos para testar a autentica\u00e7\u00e3o:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">tail \/var\/log\/asterisk\/full -f<\/pre>\n\n\n\n<p><strong>Veja o resultado de uma autentica\u00e7\u00e3o:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">[Aug  3 12:20:42] WARNING[22571] sip\/config_parser.c: nat=yes is deprecated, use nat=force_rport,comedia instead<br>\n[Aug  3 12:20:42] WARNING[22571] chan_sip.c: Qualify is incompatible with dynamic uncached realtime.  Please either turn rtcachefriends on or turn qualify off on peer '1099'<br>\n[Aug  3 12:20:42] WARNING[22571] sip\/config_parser.c: nat=yes is deprecated, use nat=force_rport,comedia instead<br>\n[Aug  3 12:20:42] WARNING[22571] chan_sip.c: Qualify is incompatible with dynamic uncached realtime.  Please either turn rtcachefriends on or turn qualify off on peer '1099'<br>\n[Aug  3 12:20:42] SECURITY[22539] res_security_log.c: SecurityEvent=\"ChallengeSent\",EventTV=\"1596468042-272125\",Severity=\"Informational\",Service=\"SIP\",EventVersion=\"1\",AccountID=\"1099\",SessionID=\"0x7f6138001a98\",LocalAddress=\"IPV4\/UDP\/10.1.0.3\/5060\",RemoteAddress=\"IPV4\/UDP\/10.1.0.17\/53397\",Challenge=\"0b5942cc\"<br>\n[Aug  3 12:20:42] WARNING[22571] sip\/config_parser.c: nat=yes is deprecated, use nat=force_rport,comedia instead<br>\n[Aug  3 12:20:42] WARNING[22571] chan_sip.c: Qualify is incompatible with dynamic uncached realtime.  Please either turn rtcachefriends on or turn qualify off on peer '1099'<br>\n[Aug  3 12:20:42] WARNING[22571] sip\/config_parser.c: nat=yes is deprecated, use nat=force_rport,comedia instead<br>\n[Aug  3 12:20:42] WARNING[22571] chan_sip.c: Qualify is incompatible with dynamic uncached realtime.  Please either turn rtcachefriends on or turn qualify off on peer '1099'<br>\n[Aug  3 12:20:42] SECURITY[22539] res_security_log.c: SecurityEvent=\"SuccessfulAuth\",EventTV=\"1596468042-308366\",Severity=\"Informational\",Service=\"SIP\",EventVersion=\"1\",AccountID=\"1099\",SessionID=\"0x7f6138001a98\",LocalAddress=\"IPV4\/UDP\/10.1.0.3\/5060\",RemoteAddress=\"IPV4\/UDP\/10.1.0.17\/53397\",UsingPassword=\"1\"<br>\n[Aug  3 12:20:42] WARNING[22544] chan_sip.c: Qualify is incompatible with dynamic uncached realtime.  Please either turn rtcachefriends on or turn qualify off on peer '1099'<br>\n[Aug  3 12:20:42] WARNING[22571] sip\/config_parser.c: nat=yes is deprecated, use nat=force_rport,comedia instead<br>\n[Aug  3 12:20:42] WARNING[22571] chan_sip.c: Qualify is incompatible with dynamic uncached realtime.  Please either turn rtcachefriends on or turn qualify off on peer '1099'<br>\n[Aug  3 12:20:42] WARNING[22571] sip\/config_parser.c: nat=yes is deprecated, use nat=force_rport,comedia instead<br>\n[Aug  3 12:20:42] WARNING[22571] chan_sip.c: Qualify is incompatible with dynamic uncached realtime.  Please either turn rtcachefriends on or turn qualify off on peer '1099'<br>\n[Aug  3 12:20:42] WARNING[22571] sip\/config_parser.c: nat=yes is deprecated, use nat=force_rport,comedia instead<br>\n[Aug  3 12:20:42] WARNING[22571] chan_sip.c: Qualify is incompatible with dynamic uncached realtime.  Please either turn rtcachefriends on or turn qualify off on peer '1099'<br>\n[Aug  3 12:20:42] WARNING[22571] sip\/config_parser.c: nat=yes is deprecated, use nat=force_rport,comedia instead<br>\n[Aug  3 12:20:42] WARNING[22571] chan_sip.c: Qualify is incompatible with dynamic uncached realtime.  Please either turn rtcachefriends on or turn qualify off on peer '1099'<br>\n[Aug  3 12:20:42] NOTICE[22571] chan_sip.c: Received SIP subscribe for peer without mailbox: 1099<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">EXTENSIONS REALTIME<\/h2>\n\n\n\n<p><strong>Criando a tabela das configura\u00e7\u00f5es de roteamento, que substituir\u00e1 o extension.conf, no banco asterisk:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">CREATE TABLE extensions (\nid int(11) NOT NULL auto_increment,\ncontext varchar(20) NOT NULL default \"\",\nexten varchar(20) NOT NULL default \"\",\npriority tinyint(4) NOT NULL default \"0\",\napp varchar(20) NOT NULL default \"\",\nappdata varchar(128) NOT NULL default \"\",\nPRIMARY KEY  (context,exten,priority),\nKEY id (id)\n) TYPE=MyISAM; <\/pre>\n\n\n\n<p> <strong>Adicionando o apontamento da tabela realtime no arquivo  extconfig.conf:<\/strong> <\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">[settings]\nextensions.conf => odbc,asterisk,extensions<\/pre>\n\n\n\n<p><strong>Reiniciando o asterisk para receber as novas configura\u00e7\u00f5es:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">asterisk -rx \"core restart now\"<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">RESOLVENDO O PROBLEMA DO MYSQL.PLUGIN<\/h2>\n\n\n\n<p>Ap\u00f3s uma instala\u00e7\u00e3o mau sucedida pela utiliza\u00e7\u00e3o de vers\u00e3o anterior, ao iniciar o banco de dados mysql com o comando mysqld_safe, o seguinte erro ocorreu:<\/p>\n\n\n\n<p><strong>[ERROR] Can&#8217;t open the mysql.plugin table. Please run mysql_upgrade to create it.<\/strong><\/p>\n\n\n\n<p>Veja abaixo o log completo do erro ao tentar iniciar o banco de dados pelo mysqld_safe:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">200804 22:21:22 mysqld_safe Starting mysqld daemon with databases from \/usr\/local\/var<br>\n\/usr\/local\/libexec\/mysqld: Table 'mysql.plugin' doesn't exist<br>\n200804 22:21:22 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.<br>\n200804 22:21:22 [ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist<br>\n200804 22:21:22 mysqld_safe mysqld from pid file \/usr\/local\/var\/localhost.localdomain.pid ended<\/pre>\n\n\n\n<p>Se esse erro aparecer durante a manuten\u00e7\u00e3o do mysql, a solu\u00e7\u00e3o que resolveu pra mim foi criando todas as tabelas novamente, usando o seguinte comando logado como root:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">bin\/mysql_install_db --user=mysql<\/pre>\n\n\n\n<p>Veja abaixo o resultado do comando anterior:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">[root@localhost mysql]# bin\/mysql_install_db --user=mysql\n Installing MySQL system tables\u2026\n OK\n Filling help tables\u2026\n OK\n To start mysqld at boot time you have to copy\n support-files\/mysql.server to the right place for your system\n PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !\n To do so, start the server, then issue the following commands:\n \/usr\/local\/mysql\/bin\/mysqladmin -u root password 'new-password'\n \/usr\/local\/mysql\/bin\/mysqladmin -u root -h localhost.localdomain password 'new-password'\n Alternatively you can run:\n \/usr\/local\/mysql\/bin\/mysql_secure_installation\n which will also give you the option of removing the test\n databases and anonymous user created by default.  This is\n strongly recommended for production servers.\n See the manual for more instructions.\n You can start the MySQL daemon with:\n cd \/usr\/local\/mysql ; \/usr\/local\/mysql\/bin\/mysqld_safe &amp;\n You can test the MySQL daemon with mysql-test-run.pl\n cd \/usr\/local\/mysql\/mysql-test ; perl mysql-test-run.pl\n Please report any problems with the \/usr\/local\/mysql\/bin\/mysqlbug script!\n The latest information about MySQL is available at http:\/\/www.mysql.com\/\n Support MySQL by buying support\/licenses from http:\/\/shop.mysql.com\/<\/pre>\n\n\n\n<p>Depois de executar esse comando como root, tive que novamente alterar as propriedades dos diret\u00f3rios e pastas, com os seguintes comandos:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"># chown -R root  .\n# chown -R mysql var\n# chgrp -R mysql .<\/pre>\n\n\n\n<p>Em seguida foi poss\u00edvel executar o banco de dados com o comando mysql_safe tradicional:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">\/usr\/local\/bin\/mysqld_safe &amp;<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">PROBLEMA COM libmyodbc5.so <\/h2>\n\n\n\n<p>Ao testar a conex\u00e3o do conector odbc com o comando &#8220;<strong><em>isql -v asteriskconnector<\/em><\/strong>&#8221; o seguinte erro se apresentou:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><strong>[unixODBC][Driver Manager]Can't open lib '\/usr\/lib64\/libmyodbc5.so' : file not found<\/strong><\/pre>\n\n\n\n<p>Ao consultar o mesmo encontrava-se no local, mas insistia em apresentar o erro que n\u00e3o existia. Ent\u00e3o tentei reinstalar o mysql-connector com o yum e n\u00e3o funcionou, tentei criar link simb\u00f3lico e nada. A \u00fanica forma que resolveu foi baixar o pacote do &#8220;<strong><em>mysql-connector-odbc-5.3.14-linux-glibc2.12-x86-64bit\/<\/em><\/strong>&#8220;, descompactar e copiar o arquivo para o loca especificado:<\/p>\n\n\n\n<p>Baixando o pacote  &#8220;<strong><em>mysql-connector-odbc-5.3.14-linux-glibc2.12-x86-64bit\/<\/em><\/strong>&#8220;:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">wget https:\/\/dev.mysql.com\/get\/Downloads\/Connector-ODBC\/5.3\/mysql-connector-odbc-5.3.14-linux-glibc2.12-x86-64bit.tar.gz<\/pre>\n\n\n\n<p>Descompactando:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">tar -xvzf mysql-connector-odbc-5.3.14-linux-glibc2.12-x86-64bit.tar.gz<\/pre>\n\n\n\n<p>Copiando os arquivos:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">cp mysql-connector-odbc-5.3.14-linux-glibc2.12-x86-64bit\/lib\/* \/usr\/lib64\/<\/pre>\n\n\n\n<p>Depois alterei o apontamento no arquivo  &#8220;<strong><em>\/etc\/odbcinst.ini<\/em><\/strong>&#8220;:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">[MySQL]<br> Description    = ODBCforMySQL<br> Driver         = \/usr\/lib\/libmyodbc5.so<br> Setup          = \/usr\/lib\/libodbcmyS.so<br> Driver64       = <strong>\/usr\/lib64\/odbc\/libmyodbc5a.so<\/strong><br> Setup64        = \/usr\/lib64\/libodbcmyS.so<br> FileUsage      = 1<\/pre>\n\n\n\n<p>Ent\u00e3o testei novamente e deu certo, veja:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">[root@localhost lib]# isql -v asteriskconnector\n +---------------------------------------+\n | Connected!                            |\n |                                       |\n | sql-statement                         |\n | help [tablename]                      |\n | quit                                  |\n |                                       |\n +---------------------------------------+\n SQL&gt; quit<\/pre>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Instalando o Asterisk 11 no CentOS 7.8.2003, dahdi-linux-complete-3.1.0+3.1.0, libpri-1.6.0, voicerlib-4.2.5.6, asterisk-11.25.3.tar.gz, dgvchannel-1.1.8. Primeiramente devemos assumir o diret\u00f3rio &#8220;\/usr\/src\/&#8221; como padr\u00e3o de instala\u00e7\u00e3o dos pacotes linux:<\/p>\n","protected":false},"author":1,"featured_media":751,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[13,17,16,14,18,7,12,15,11],"tags":[],"class_list":["post-736","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-asterisk","category-centos","category-dahd-linux","category-dgvchannel","category-libpri","category-linux","category-sip","category-voicerlib","category-voip"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/periciajudicial.zsistemas.com.br\/index.php\/wp-json\/wp\/v2\/posts\/736","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/periciajudicial.zsistemas.com.br\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/periciajudicial.zsistemas.com.br\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/periciajudicial.zsistemas.com.br\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/periciajudicial.zsistemas.com.br\/index.php\/wp-json\/wp\/v2\/comments?post=736"}],"version-history":[{"count":25,"href":"https:\/\/periciajudicial.zsistemas.com.br\/index.php\/wp-json\/wp\/v2\/posts\/736\/revisions"}],"predecessor-version":[{"id":771,"href":"https:\/\/periciajudicial.zsistemas.com.br\/index.php\/wp-json\/wp\/v2\/posts\/736\/revisions\/771"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/periciajudicial.zsistemas.com.br\/index.php\/wp-json\/wp\/v2\/media\/751"}],"wp:attachment":[{"href":"https:\/\/periciajudicial.zsistemas.com.br\/index.php\/wp-json\/wp\/v2\/media?parent=736"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/periciajudicial.zsistemas.com.br\/index.php\/wp-json\/wp\/v2\/categories?post=736"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/periciajudicial.zsistemas.com.br\/index.php\/wp-json\/wp\/v2\/tags?post=736"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}