Documentacao completa, por isso extensa. Aborda tudo de forma completa. NUNCA achei na internet algo assim. Fiquei no troubleshooting 10 dias praticamente 5 horas por dia para ter esse alinhamento.
Vou abordar desde conceitos basicos CISCO ate a parte final que eh a configuracao toda ja feita para colar no seu roteador.
0 – Ter um servidor TFTP funcionando na intranet para envio da atualizacao (Usei no windao: Win agents TFTP Server Manager 4.1)
1 – BAIXAR O PUTTY E CONECTAR USANDO COM1 COM O CABO SERIAL NO ROUTER (nao vejo outra maneira inicial de ter acesso uma vez que para criar o acesso telnet precisa configurar o router primeiro).
2 – Alguns comandos bacanas para ter em mente:
# ver o ip atual e nome das interfaces show interfaces show voice port show voice port 1/0 #entre outas portas 1/1, 2/0 e 2/1 show interfaces fastEthernet 0 #tenho somente uma porta fast ethernet how interfaces summary show diag show dial-peer voice sum show voice dsp show run # mostra as configuracoes do router test voice tone BR show # mostra as cadencias do ton Brasileiro (netei que o disconnect tone estava errado e tive que manipular isso na configuracao) show users #mostrara usuarios conectados telnet show run # mostrar as configuracoes atuais show sip-ua calls show sip-ua calls dtmf-relay sip-info Importante para debugar o sip: * Se estiver no modo telnet lembrar de ativar a visualizacao do log com o comando: # logging monitor //command to enable logging on VTY lines # terminal monitor //unless you issue this command, you cannot see logs on your SSH or Telnet Para desativar: # no terminal monitor debug ccsip all # para desativar todos debugs: no debug all # salvar as configuracoes na NVRAM (para nao perder apos reinicio do router) Router# copy running-config startup-config #backup configuracao Router#copy startup-config tftp: Address or name of remote host []? 192.168.254.69 Destination filename [router-confg]? configcisco.txt #backup IOS bin Router#copy flash: tftp Source filename []? c1700-sv3y7-mz.122-2.t.bin Address or name of remote host []? 192.168.254.69 Destination filename [c1700-sv3y7-mz.122-2.t.bin]? Tenha em mente que, quando esta no primeiro modo: route> en nao ha privilegios aos comandos, ha de digitar en: route# Nessa secao voce pode executar os comandos de debug e show, para configuracaoes temos que entrar no modod e configuracao: route# configure terminal fxo(config)#
#Atualizacao
Bem, em router mais novos como 3640, não é um problema preencher IOS pelo menos a versão 12.4..
Se for assustador, você pode apenas adicionar na configuração a linha e então na inicialização haverá uma tentativa de inicializar a partir do tftp, e se não houver memória suficiente, por exemplo, ele inicializará a versão que está no flash.
Old version: c1700-sv3y7-mz.122-2.t.bin New version: c1700-sv3y-mz.122-4.T.bin Router#copy tftp://192.168.254.69/c1700-sv3y-mz.122-4.T.bin nvram:startup-conf Destination filename [startup-config]? Accessing tftp://192.168.254.69/c1700-sv3y-mz.122-4.T.bin... Loading c1700-sv3y-mz.122-4.T.bin from 192.168.254.69 (via FastEthernet0): ! %Error copying tftp://192.168.254.69/c1700-sv3y-mz.122-4.T.bin (Not enough space on device)
E aqui comeca um pesadelo… Digo isso pois atualizei para a versão que contemplava sip como dizia nos artigos mas 5 dias de troubleshooting para depois entender que os RTP 2833 nao funcionavam nela. O grande problema eh que o Cisco 1750 nao tem mais de 8mb de flash e nao tem mais de 32mb de rom. Entao foi um outro pesadelo achar uma versao disponivel que contemplasse o RTP2833 e, por fim tivesse o tamanho correto.
Em resumo, a unica versao que eu conseguia colocar funcionando era essa 122-4.T.bin, na qual no final fui ver que nao satisfazia. O problema era que nenhuma versao superior cabia na ROM, poderia ate dar certo no tamanho da flash porem depois de compilada nao cabia na ROM. Depois de muito googlear eu achei um artigo com um massete que eu precisva, a versao que eu tinha em mente em instalar depois de ler diversos artigos referente as versoes e features eu fiquei por alguns kbytes de conseguir compilar na ROM. Mas esse milagrosso artigo falava que eu poderia tirar as WICs (placas FXO) compilar a versao e depois voltar com as placas, e assim fiz e foi supimpa.
A VERSAO IDEAL PARA FUNCIONAMENTO COM O ASTERISK EH Version 12.2(8)T4 (mais tarde usei a 12.4(16) c1700-sv8y7-mz.124-16.bin (https://tfr.org/cisco/17xx/c1700-sv8y7-mz.124-16.bin)
Ha varias nomenclaturas para o firmare, e tamanhos diferentes. Isso se da ao fato desse roteador poder operar como ipbx, router, firewall, IDS, modem adsl, etc. Nosso objetivo eh a menor e somente com servicos que precisamos por isso achei a SV3Y que contempla somente IP + Voice.
Essa outra versao de Bootstrap eh uma especie de BIOS que existe nos routes da CISCO e que nao precisa preocupar para esse caso em especifico.
Testei algumas versoes alem dessa que corportava no router mas nao contemplava o RTP2833. Enfim, a chave para solucao de muitos problemas foi ter achado essa unica versao.
Cisco# show version 02:00:45: %SYS-5-CONFIG_I: Configured from console by console Cisco Internetwork Operating System Software IOS (tm) C1700 Software (C1700-SV3Y-M), Version 12.2(8)T4, RELEASE SOFTWARE (fc1) TAC Support: http://www.cisco.com/tac Copyright (c) 1986-2002 by cisco Systems, Inc. Compiled Fri 03-May-02 23:20 by ccai Image text-base: 0x80008108, data-base: 0x80CD3538 ROM: System Bootstrap, Version 12.0(3)T, RELEASE SOFTWARE (fc1) fxo uptime is 2 hours, 0 minutes System returned to ROM by reload at 17:11:08 GMT Tue Nov 16 2021 System restarted at 17:12:40 GMT Tue Nov 16 2021 System image file is "flash:c1700-sv3y-mz.122-8.T4.bin" cisco 1750 (MPC860T) processor (revision 0x601) with 27853K/4915K bytes of memory. Processor board ID JAD05030BL0 (1789504335), with hardware revision 3097 MPC860T processor: part number 0, mask 32 Bridging software. X.25 software, Version 3.0.0. 1 FastEthernet/IEEE 802.3 interface(s) 4 Voice FXO interface(s) 32K bytes of non-volatile configuration memory. 8192K bytes of processor board System flash (Read/Write)
Continuando na luta de espaco, nao ha como colocar essa versao sem apagar a anterior da FLASH.
#VAMOS APAGAR O EXISTENTE Router#dir flash: Directory of flash:/ 1 -rw- 7286044 <no date=""> c1700-sv3y7-mz.122-2.t.bin</no> 8388608 bytes total (1102500 bytes free) #DELETING Router#delete flash:c1700-sv3y7-mz.122-2.t.bin Delete filename [c1700-sv3y7-mz.122-2.t.bin]? Delete flash:c1700-sv3y7-mz.122-2.t.bin? [confirm] Router# Router#dir flash: Directory of flash:/ No files in directory 8388608 bytes total (1102500 bytes free)
Como pode ver, a dor de cabeca nao parava.. Mesmo apagando nao liberou espaco. A solucao eh fazer o reload e
posteriormente no modo rommon fazer o TFTP e atualizar:
delete flash:c1700-y-mz.124-8a.bin Router# reload # After reload we lost the flash and we used the rommon to write again: # Set the confidirg below for your network get the tftp server archive rommon 34 > rommon 35 >IP_ADDRESS=192.168.254.166 rommon 36 >IP_SUBNET_MASK=255.255.255.0 rommon 37 >DEFAULT_GATEWAY=192.168.254.254 rommon 38 >TFTP_SERVER=192.168.254.69 # ip do meu servidor tftp rommon 39 >TFTP_FILE=c1700-sv3y-mz.122-8.T4.bin rommon 40 >tftpdnld IP_ADDRESS: 192.168.254.166 IP_SUBNET_MASK: 255.255.255.0 DEFAULT_GATEWAY: 192.168.254.254 TFTP_SERVER: 192.168.254.69 TFTP_FILE: c1700-sv3y-mz.122-4.T.bin Invoke this command for disaster recovery only. WARNING: all existing data in all partitions on flash will be lost! Do you wish to continue? y/n: [n]: y Receiving c1700-sv3y-mz.122-4.T.bin from 192.168.254.69 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! File reception completed. Copying file c1700-sv3y-mz.122-4.T.bin to flash. Erasing flash at 0x607f0000 Programming location 606e0000 File reception completed. Copying file c1700-sv3y-mz.122-4.T.bin to flash. Erasing flash at 0x607f0000 Programming location 606e0000 rommon 41 > boot flash: rommon 42 > boot flash:cc1700-y-mz.124-8a.bin
Se corromper voce pode comecar tudo novmaente com o comando: reset
# Restart/shutdown/reboot –> “reload”
Algo util no meio do nosso caminho para ter em mente:
# RESET DAS CONFIGURACOES EXISTENTES NO ROTEADOR Check the configuration register on the router by issuing the show version command. The configuration register setting is displayed in the last line of the show version command output and should be set to 0x2102. If this is not the case, enter the config-register 0x2102 command once in global configuration mode. router#configure terminal router(config)#config-register 0x2101 router(config)#end router# If the show version command is issued again, the same line in the command output will have '(will be 0x2102 at next reload)' appended to the current register setting. Erase the current start-up configuration on the router with the router# write erase Reload the router with the reload command. When prompted to save the configuration, DO NOT save. router#reload ATENCAO AQUI: System configuration has been modified. Save? [yes/no]: no Proceed with reload? [confirm] Once the router reloads, the System Configuration Dialog appears. --- System Configuration Dialog --- Would you like to enter the initial configuration dialog? [yes/no]: The router is now reset to the original factory defaults.
Depois de bootar com a versao correta, vou postar a configuracao que esta 100% funcional. Eu fiz 4 peers e 4 rotas pois muitas das vezes preciso sair por linha especifica ou mesmo tratar a entrada das linhas de forma diferente cada uma. Caso nao tenha necessidade disso voce pode explorar a realizacao de um trunk group.
en # entrar no modo de execucao configure terminal # entrar no modo de configuracao interface FastEthernet0 # setando ip na interface de rede ip address 192.168.254.166 255.255.255.0 no shutdown ip route 0.0.0.0 0.0.0.0 192.168.254.254 # setando o gateway ip domain-name cisco.fxo # setando o dominio #criando uma classe de codec, nao usei mas deixei para o futuro voice class codec 1 codec preference 1 g711ulaw codec preference 2 g711alaw #atualizando o relogio clock timezone GMT -3 ntp server 200.160.0.8 ntp server 200.189.40.8 ip name-server 8.8.8.8 # setando o DNS padrao no service config # removendo as conf automatica de busca em tftp # ativando o telnet com senhas hostname fxo ip domain-name abratel.com.br username root password senhadoroor username root privilege 15 username monitor password senhadomonitor enable password 280786 # SENHA DO ROTEADOR cabo COM1 #habilitando o telnet para a tty e banco de usuarios local ssh version 2 line vty 0 4 transport input telnet login local #criando um tratamento para os tons do Brasil, o encontrado disponivel na CISCO nao estava totalmetne correto. voice class custom-cptone BRcustom dualtone busy frequency 425 425 cadence 250 250 dualtone ringback frequency 425 425 cadence 1000 4000 dualtone reorder frequency 425 425 cadence 1000 1000 dualtone out-of-service frequency 425 425 cadence 250 250 dualtone number-unobtainable frequency 425 425 cadence 250 250 dualtone disconnect frequency 425 425 cadence 250 250 # configurando a primeira porta de voz e depois as demais. voice-port 1/0 connection plar opx 501 # como se fosse um hotline para o dialpeer 501. DEVE manter o OPX para funcionamento correto do tom de disconnect station-id number 501 supervisory disconnect dualtone mid-call # tratamento do tom supervisory custom-cptone BRcustom # tratamento do tom cptone BR # tom do brasil disponivel na cisco timeouts call-disconnect 3 # tempo de desconexao se ouvir o tom de desconectado timeouts wait-release 6 # tempo inicial para nao desconectar, se for menor teremos falso positivo e as chamads irao cair logo no inicio timing hookflash-out 250 voice-port 1/1 connection plar opx 502 station-id number 502 supervisory disconnect dualtone mid-call supervisory custom-cptone MYTONE timeouts call-disconnect 2 timeouts wait-release 6 timing hookflash-out 250 cptone BR voice-port 2/0 connection plar opx 503 station-id number 503 supervisory disconnect dualtone mid-call supervisory custom-cptone MYTONE timeouts call-disconnect 2 timeouts wait-release 6 timing hookflash-out 250 cptone BR voice-port 2/1 connection plar opx 504 station-id number 504 supervisory disconnect dualtone mid-call supervisory custom-cptone MYTONE timeouts call-disconnect 2 timeouts wait-release 6 timing hookflash-out 250 cptone BR # Aqui sao o plano de discagem quando ENTRAR uma chamada na porta FXO, o que tem que fazer. No nosso caso chamei de um numero qualquer (501) e toda a chamada deve ser encaminhada ao asterisk dial-peer voice 501 voip preference 1 destination-pattern .T # qualquer digito encaminha ao asterisk session protocol sipv2 session target ipv4:192.168.254.254:5061 session transport udp dtmf-relay rtp-nte #IMPORTANTISSIMO, sem isso nada funciona e foi minha briga total com os firmwares, NAO funcionar se setar o dtmf-relay cisco-nte codec g711ulaw no vad dial-peer voice 502 voip preference 1 destination-pattern .T session protocol sipv2 session target ipv4:192.168.254.254:5062 session transport udp dtmf-relay rtp-nte codec g711ulaw no vad dial-peer voice 503 voip preference 1 destination-pattern .T session protocol sipv2 session target ipv4:192.168.254.254:5063 session transport udp dtmf-relay rtp-nte codec g711ulaw no vad dial-peer voice 504 voip preference 1 destination-pattern .T session protocol sipv2 session target ipv4:192.168.254.254:5064 session transport udp dtmf-relay rtp-nte codec g711ulaw no vad # Essa configuracao eha oposta, sao as chamadas SAINTES, vinda do asterisk e indo para FXO. Defini um numero aleatorio 511 e no destination eu mantenho o 511 pois o asterisk envia esse prefixo, e ae entao eu sei que eh para a linha numero 1, fazendo posterior a retirada do 511 e envio para PSTN. dial-peer voice 511 pots description test destination-pattern 511.T port 1/0 dial-peer voice 512 pots description test destination-pattern 512.T port 1/1 dial-peer voice 513 pots description test destination-pattern 513.T port 2/0 dial-peer voice 514 pots description test destination-pattern 514.T port 2/1 sip-ua retry invite 3 retry response 3 retry bye 3 retry cancel 3 timers trying 1000 sip-server ipv4:192.168.254.254:5060 exit # para salvar permanentemetne copy running-config startup-config
Configuracao do asterisk irei abordar o basido.. Voce pode explorar mais com grupos de linhas, etc
sip.conf ; ATENÇÃO ATENÇÃO ATENCAO allowguest=yes #; IP DO CISCO: 192.168.254.166 [501] type=friend qualify=yes nat=no canreinvite=no context=recebe-cisco host=192.168.254.166 disallow=all allow=ulaw dtmfmode=rfc2833 port=5061 [502] type=friend qualify=yes nat=no canreinvite=no context=recebe-cisco host=192.168.254.166 disallow=all allow=ulaw dtmfmode=rfc2833 port=5062 [503] type=friend qualify=yes nat=no canreinvite=no context=recebe-cisco host=192.168.254.166 disallow=all allow=ulaw dtmfmode=rfc2833 port=5063 [504] type=friend qualify=yes nat=no canreinvite=no context=recebe-cisco host=192.168.254.166 disallow=all allow=ulaw dtmfmode=rfc2833 port=5064 ======================== [recebe-cisco] # para criar entradas diferente pode setar no sip de cada extensao (500, 501,etc) um contexto diretente. Ou entao modificar a entrada desse para tratar as 4. exten => _X.,1,Dial(IAX2/928,50) same => n,hangup() [realiza-cisco] # criar um ramal sip por exemplo e por nesse contexto # para sair pela linha 1 exten => _X.,1,Dial(sip/501/511${EXTEN},50) same => n,hangup() # para sair pela linha 1 exten => _X.,1,Dial(sip/502/512${EXTEN},50) # para sair pela linha 1 same => n,hangup() etc ...
Achei em um artigo uma solucao para arrumar a questao do TOM, nota-se que esses nao sao os corretos mas conseguindo os corretos voce pode usar essa solucao. NAO tive necessidade disso para o Brasil. Eu usei somente o primeiro Step dele que era colocar OPX nos dial-peers e ja solucionei o problema.
# OUTRA SOLUCAO APLICADA QUE ARRUMOU O TOM DE DESCONEXAO # UMA OBSERVACAO EH QUE quando seto o OPX no cisco #o ring do softphone eh padrao US. Porem se nao seto o OPX # o ring muda para padrao BR como esta na conf de tone OPX int the plar command and freq-max-deviation 20 cadence-variation 50 int the voice class attached to the fxo port.... voice class dualtone-detect-params 1 freq-max-deviation 20 cadence-variation 50 ! ! voice class custom-cptone TEST dualtone disconnect frequency 425 cadence 250 250 ! ! voice-port 1/1/0 supervisory disconnect dualtone mid-call supervisory custom-cptone TEST supervisory dualtone-detect-params 1 cptone AU timeouts call-disconnect 5 timeouts wait-release 5 connection plar opx 1000 impedance complex1 ! ! dial-peer voice 4000 pots destination-pattern 4000 port 1/0/0
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Configuracao com o dial livre no qual nao precisa passar parametro (destination-pattern .T).
Nesse exemplo abaixo o asterisk nao precisa passar nenhum prefixo no numero para chamar.
Nota-se que a porta 1/1 e 2/0 serao as duas que esperam fazer as chamadas quando nao se passa o prefixo, assim setei nela ordens de “preference”, onde a menor preference eh a qual ira ser usada mais (porta 2/0). Em caso de ocupado, passa-se a segunda preference (porta 1/1)
dial-peer voice 511 pots description test destination-pattern 511.T #somente usara essa se passar o prefixo 511 port 1/0 ! dial-peer voice 512 pots description test preference 3 #maior preferencia, usa-se menos destination-pattern .T # se nao passar nenhum prefixo, essa sera a rota secundaria port 1/1 ! dial-peer voice 513 pots description test preference 1 #menor preferencia, usa-se mais destination-pattern .T # se nao passar nenhum prefixo, essa sera a rota primaria port 2/0 ! dial-peer voice 514 pots description test destination-pattern 514.T #somente usara essa se passar o prefixo 511 port 2/1 !
Dial plan Asterisk:
exten => _X.,1,Dial(SIP/501/${EXTEN},50,Ttr)
Obs: 1 – Ate o presente momento nao consegui fazer o Bina funcionar. Aparentemente minha WIC nao da suporte a isso. The VIC-2FXO voice interface card does not support Caller ID. In order to support that, you will need battery reversal support (in the US, VIC-2FXO-M1; in Europe, VIC-2FXO-M2, etc.). More on Cisco FXO interfaces: http://cisco.com/en/US/products/hw/routers/ps274/products_tech_note09186a00800b53c7.shtml
2 – nao usei o comando caller-id enable nas voice pois minha placa FXO (VIC-2FXO) nao suporta. O calleid eh suportado nessas placas abaixo.
VIC-2FXO-M1, VIC-2FXO-M2, VIC-4FXO-M1, VIC2-2FXO, VIC2-4FXO, or MRP3-8FXOM1
3 – Lembrar de setar no SIP Allow Guest para yes (ache a opcao independente da versao que usa, isabel, vital, freepbx, etc)
Debug para binagem: * Se estiver no modo telnet lembrar de ativar a visualizacao do log com o comando: # logging monitor //command to enable logging on VTY lines # terminal monitor //unless you issue this command, you cannot see logs on your SSH or Telnet Para desativar: # no terminal monitor # debug vpm signal # debug vpm vtsp Ache a linha que fale: get_fxo_caller_id:
Perfeita configuração homologada:
hostname fxo-ssbarao
!
boot-start-marker
boot-end-marker
!
enable password 280786
!
no aaa new-model
memory-size iomem 15
clock timezone GMT -3
mmi polling-interval 60
no mmi auto-configure
no mmi pvc
mmi snmp-timeout 180
voice-card 1
!
ip cef
ip domain name abratel.com.br
!
voice class codec 1
codec preference 1 g711ulaw
codec preference 2 g711alaw
!
voice class custom-cptone BRcustom
dualtone busy
frequency 425 425
cadence 250 250
dualtone ringback
frequency 425 425
cadence 1000 4000
dualtone reorder
frequency 425 425
cadence 1000 1000
dualtone out-of-service
frequency 425 425
cadence 250 250
dualtone number-unobtainable
frequency 425 425
cadence 250 250
dualtone disconnect
frequency 425 425
cadence 250 250
!
username root privilege 15 password 0 280786
username monitor password 0 280786
!
interface FastEthernet0/0
ip address 192.168.0.252 255.255.255.0
speed auto
no shutdown
!
ip route 0.0.0.0 0.0.0.0 192.168.0.1
no ip http server
!
control-plane
!
voice-port 1/0
supervisory disconnect dualtone mid-call
supervisory custom-cptone BRcustom
cptone BR
timeouts call-disconnect 3
timeouts wait-release 6
timing hookflash-out 250
connection plar opx 1192
caller-id alerting dsp-pre-allocate
!
voice-port 1/1
supervisory disconnect dualtone mid-call
no vad
cptone BR
timeouts call-disconnect 2
timeouts wait-release 6
timing hookflash-out 250
connection plar opx 9114
caller-id alerting dsp-pre-allocate
!
dial-peer cor custom
!
dial-peer voice 1192 voip
preference 1
destination-pattern .T
session protocol sipv2
session target ipv4:192.168.0.253:5060
session transport udp
dtmf-relay rtp-nte
codec g711ulaw
no vad
!
dial-peer voice 9114 voip
preference 1
destination-pattern .T
session protocol sipv2
session target ipv4:192.168.0.253:5061
session transport udp
dtmf-relay rtp-nte
codec g711ulaw
no vad
!
dial-peer voice 37471192 pots
description test
destination-pattern 1192.T
port 1/0
!
sip-ua
retry invite 3
retry response 3
retry bye 3
retry cancel 3
timers trying 1000
sip-server ipv4:192.168.0.253:5060
!
!
line con 0
line aux 0
line vty 0 4
login local
transport input telnet
!
ntp clock-period 17179954
ntp server 200.189.40.8
ntp server 200.160.0.8
config-register 0x102
end
copy running-config startup-config
[/sheel]
Lembre-se que apos o comando show version se o config-register estiver com o penultimo algarismo sendo 4 o cisco nao ira processar as configurações no próximo reboot. Ele ira ignorar a RAM. Eh imprescindível que esteja com o config-register 0x102. Contrario a isso, todo reboot do equipamento ele ira perguntar se deseja executar o wizard de instalacao/configuracao.
LOG/DEBUG
0 Emergencies System shutting down due to missing fan tray
1 Alerts Temperature limit exceeded
2 Critical Memory allocation failures
3 Errors Interface Up/Down messages
4 Warnings Configuration file written to server, via SNMP request
5 Notifications Line protocol Up/Down
6 Information Access-list violation logging
7 Debugging Debug messages
The default logging level for Console and VTY lines is Debugging. hence there were no log level mentioned in the above commands. If you would like to keep only Information logs, then issue commands as
# logging monitor information
# logging console information
In this case, Debugging logs will not be shown.
*******************************************************************************
Artigos interessantes:
# local de binarios, uma vez que na Cisco eh pago.
https://tfr.org/cisco-ios/17xx/
https://www.3amsystems.com/World_Tone_Database?q=Brazil,Busy_tone
https://github.com/chan-sccp/chan-sccp/wiki/What-is-chan-sccp-b
#manual
http://dh1407h.cleansite.biz/1325-939797.html
# compatibilidade das placas fxo
https://www.cisco.com/web/ANZ/cpp/refguide/hview/router/1700.html#vic2-4fxo
https://www.networkworld.com/article/2297182/chapter-10–digit-manipulation.html
https://community.cisco.com/t5/ip-telephony-and-phones/fxo-disconnect-problem/td-p/1342590/page/2