+ Responder ao Tópico



  1. #1

    Padrão FXO SPA3102 Linha Fixa

    Boa tarde, estou precisando colocar um SPA3102 ligado a uma linha fixa fornecendo uma conta SIP para um Elastix, no caso a linha fixa vai virar tronco do Elastix. Alguém pode me ajudar ?

  2. #2

    Padrão Re: FXO SPA3102 Linha Fixa

    Eu posso, qual sua dúvida!

  3. #3

    Padrão Re: FXO SPA3102 Linha Fixa

    Eu já configurei algumas vezes o spa3102 como cliente SIP. Porém para configurar como tronco eu não faço nem ideia, Hehe.

  4. #4

    Padrão Re: FXO SPA3102 Linha Fixa

    Na verdade é o elastix quem fornece uma conta sip para o SPA3102.

    No elastix voce vai em PBX configuration e em Trunks adiciona um novo tronco

    Nome do Tronco: Seu SPA por exemplo
    Outbound CalledID: Numero de sua Linha
    Maximo de canais: 1
    Mais abaixo coloque novamente o nome do tronco
    em Detalhes do PEER faça como abaixo:

    disallow=all
    allow=g729&ulaw&alaw&gsm&all
    canreinvite=no
    context=from-trunk
    dtmfmode=rfc2833
    host=dynamic
    incominglimit=1
    nat=never
    port=5061
    qualify=yes
    secret=CRIE_SUA_SENHA
    type=friend
    username=CRIE_SEU_LOGIN

    Salve e Aplique.

    Depois em Inbound Routes - Crie uma nova rota de entrada

    Descrição: Exemplo seu SPA
    Número DDR: Numero de sua Linha
    Gravar chamadas: sempre, nunca você que define
    Configurar Destino:
    Aqui você escolhe o destino da chamada:
    Fila, Chamada em grupo, URA, extensão entre outros.

    Em Outbound Routes - Crie uma nova rota de saída

    Nome da Rota: exemplo seu SPA
    Gravar chamadas: sempre, nunca
    Dial Patterns that will use this Route: define as
    possíveis combinações de números permitidas para discar pelo tronco.

    Trunk Sequence for Matched Routes: Aqui você seleciona o tronco que criou.
    Optional Destination on Congestion: Caso o tronco esteja ocupado encerra
    ou envia para outra saída.

    Pronto salve e aplique.

    #############

    No SPA3102 clique em admin e advanced, A parte de Router funciona com um roteador comum. Wan Setup configure seu ip, mascara, gateway, dns, ntp, hostname etc, se for usar a lan pode configurar um dhcp com nat.

    Na parte de Voice.
    em System voce pode limitar o acesso a sua rede
    habilitar o acesso via internet e cadastrar senha para o user e o admin.
    Em line1 voce pode configurar um telefone local no SPA caso precise.

    O mais importante esta em PSTN Line

    Line Enable: yes

    NAT Settings
    NAT Mapping Enable: no

    SIP Settings
    SIP Transport: UDP
    SIP Port: 5060

    Proxy and Registration
    Proxy: IP_DO_ELASTIX
    Register: yes
    Use OB Proxy In Dialog: yes
    Make Call Without Reg: yes
    Register Expires: 3600
    Ans Call Without Reg: yes

    Subscriber Information
    Display Name: Nome que aparecera no Elastix
    User ID: LOGIN_QUE_CRIOU_EM_TRONCO
    Password: SENHA_QUE_CRIOU_EM_TRONCO

    Dial Plans
    Dial Plan 8: S0<:NUMERO_DA_LINHA@IP_DO_ELASTIX>

    VoIP-To-PSTN Gateway Setup
    VoIP-To-PSTN Gateway Enable: yes
    VoIP PIN Max Retry: 3
    Line 1 VoIP Caller DP: 1
    VoIP Caller Default DP: 1

    PSTN-To-VoIP Gateway Setup
    PSTN-To-VoIP Gateway Enable: yes
    PSTN Ring Thru Line 1: no <- Caso queira que o telefone local toque mude para yes
    PSTN CID For VoIP CID: no
    PSTN Caller Default DP: 8 <- mesmo dial plan configurado acima (importante)

    FXO Timer Values (sec)

    PSTN Answer Delay: 5

    É isso, espero que ajude! lembrando que firewall e bloqueio de portas interfere na qualidade do audio, ate poblemas com chamada muda.

  5. #5

    Padrão Re: FXO SPA3102 Linha Fixa

    Bom dia, quero agradecer a ajuda, consegui configurar o tronco e fazer ligações, porém não estou conseguindo receber ligações. Revisei a configuração muitas vezes e esta igualzinha, alguma outra dica?

  6. #6

    Padrão Re: FXO SPA3102 Linha Fixa

    Abra o terminal do elastix e veja se o tronco SPA3102 esta enviando a chamada.

  7. #7

    Padrão Re: FXO SPA3102 Linha Fixa

    Não como te explicar, hehe, quando eu origino a chamada pela linha analógica percebo que chama, mas não aciona nada no console do elastix, o ramal 9001 esta funcionando perfeitamente, é para este que direcionei na "incoming route", porém depois de uns 7 segundos apresenta o seguinte problema:



    == Using SIP RTP TOS bits 184
    == Using SIP RTP CoS mark 5
    -- Executing [4935634227@from-trunk:1] Set("SIP/comaq-0000004d", "__FROM_DID=4935634227") in new stack
    -- Executing [4935634227@from-trunk:2] Gosub("SIP/comaq-0000004d", "app-blacklist-check,s,1") in new stack
    -- Executing [s@app-blacklist-check:1] GotoIf("SIP/comaq-0000004d", "0?blacklisted") in new stack
    -- Executing [s@app-blacklist-check:2] Set("SIP/comaq-0000004d", "CALLED_BLACKLIST=1") in new stack
    -- Executing [s@app-blacklist-check:3] Return("SIP/comaq-0000004d", "") in new stack
    -- Executing [4935634227@from-trunk:3] ExecIf("SIP/comaq-0000004d", "0 ?Set(CALLERID(name)=comaq)") in new stack
    -- Executing [4935634227@from-trunk:4] Set("SIP/comaq-0000004d", "__CALLINGPRES_SV=allowed_not_screened") in new stack
    -- Executing [4935634227@from-trunk:5] Set("SIP/comaq-0000004d", "CALLERPRES()=allowed_not_screened") in new stack
    -- Executing [4935634227@from-trunk:6] Goto("SIP/comaq-0000004d", "from-did-direct,9001,1") in new stack
    -- Goto (from-did-direct,9001,1)
    -- Executing [9001@from-did-direct:1] Macro("SIP/comaq-0000004d", "exten-vm,novm,9001") in new stack
    -- Executing [s@macro-exten-vm:1] Macro("SIP/comaq-0000004d", "user-callerid,") in new stack
    -- Executing [s@macro-user-callerid:1] Set("SIP/comaq-0000004d", "AMPUSER=comaq") in new stack
    -- Executing [s@macro-user-callerid:2] GotoIf("SIP/comaq-0000004d", "0?report") in new stack
    -- Executing [s@macro-user-callerid:3] ExecIf("SIP/comaq-0000004d", "1?Set(REALCALLERIDNUM=comaq)") in new stack
    -- Executing [s@macro-user-callerid:4] Set("SIP/comaq-0000004d", "AMPUSER=") in new stack
    -- Executing [s@macro-user-callerid:5] Set("SIP/comaq-0000004d", "AMPUSERCIDNAME=") in new stack
    -- Executing [s@macro-user-callerid:6] GotoIf("SIP/comaq-0000004d", "1?report") in new stack
    -- Goto (macro-user-callerid,s,10)
    -- Executing [s@macro-user-callerid:10] GotoIf("SIP/comaq-0000004d", "0?continue") in new stack
    -- Executing [s@macro-user-callerid:11] Set("SIP/comaq-0000004d", "__TTL=64") in new stack
    -- Executing [s@macro-user-callerid:12] GotoIf("SIP/comaq-0000004d", "1?continue") in new stack
    -- Goto (macro-user-callerid,s,19)
    -- Executing [s@macro-user-callerid:19] Set("SIP/comaq-0000004d", "CALLERID(number)=comaq") in new stack
    -- Executing [s@macro-user-callerid:20] Set("SIP/comaq-0000004d", "CALLERID(name)=comaq") in new stack
    -- Executing [s@macro-user-callerid:21] NoOp("SIP/comaq-0000004d", "Using CallerID "comaq" <comaq>") in new stack
    -- Executing [s@macro-exten-vm:2] Set("SIP/comaq-0000004d", "RingGroupMethod=none") in new stack
    -- Executing [s@macro-exten-vm:3] Set("SIP/comaq-0000004d", "VMBOX=novm") in new stack
    -- Executing [s@macro-exten-vm:4] Set("SIP/comaq-0000004d", "__EXTTOCALL=9001") in new stack
    -- Executing [s@macro-exten-vm:5] Set("SIP/comaq-0000004d", "CFUEXT=") in new stack
    -- Executing [s@macro-exten-vm:6] Set("SIP/comaq-0000004d", "CFBEXT=") in new stack
    -- Executing [s@macro-exten-vm:7] Set("SIP/comaq-0000004d", "RT=""") in new stack
    -- Executing [s@macro-exten-vm:8] Macro("SIP/comaq-0000004d", "record-enable,9001,IN") in new stack
    -- Executing [s@macro-record-enable:1] GotoIf("SIP/comaq-0000004d", "1?check") in new stack
    -- Goto (macro-record-enable,s,4)
    -- Executing [s@macro-record-enable:4] ExecIf("SIP/comaq-0000004d", "0?MacroExit()") in new stack
    -- Executing [s@macro-record-enable:5] GotoIf("SIP/comaq-0000004d", "0?Group:OUT") in new stack
    -- Goto (macro-record-enable,s,15)
    -- Executing [s@macro-record-enable:15] GotoIf("SIP/comaq-0000004d", "1?IN") in new stack
    -- Goto (macro-record-enable,s,20)
    -- Executing [s@macro-record-enable:20] ExecIf("SIP/comaq-0000004d", "1?MacroExit()") in new stack
    -- Executing [s@macro-exten-vm:9] Macro("SIP/comaq-0000004d", "dial-one,"",tr,9001") in new stack
    -- Executing [s@macro-dial-one:1] Set("SIP/comaq-0000004d", "DEXTEN=9001") in new stack
    -- Executing [s@macro-dial-one:2] Set("SIP/comaq-0000004d", "DIALSTATUS_CW=") in new stack
    -- Executing [s@macro-dial-one:3] GosubIf("SIP/comaq-0000004d", "0?screen,1") in new stack
    -- Executing [s@macro-dial-one:4] GosubIf("SIP/comaq-0000004d", "0?cf,1") in new stack
    -- Executing [s@macro-dial-one:5] GotoIf("SIP/comaq-0000004d", "1?skip1") in new stack
    -- Goto (macro-dial-one,s,8)
    -- Executing [s@macro-dial-one:8] GotoIf("SIP/comaq-0000004d", "0?nodial") in new stack
    -- Executing [s@macro-dial-one:9] GotoIf("SIP/comaq-0000004d", "0?continue") in new stack
    -- Executing [s@macro-dial-one:10] Set("SIP/comaq-0000004d", "EXTHASCW=") in new stack
    -- Executing [s@macro-dial-one:11] GotoIf("SIP/comaq-0000004d", "1?next1:cwinusebusy") in new stack
    -- Goto (macro-dial-one,s,12)
    -- Executing [s@macro-dial-one:12] GotoIf("SIP/comaq-0000004d", "0?docfu:skip3") in new stack
    -- Goto (macro-dial-one,s,16)
    -- Executing [s@macro-dial-one:16] GotoIf("SIP/comaq-0000004d", "1?next2:continue") in new stack
    -- Goto (macro-dial-one,s,17)
    -- Executing [s@macro-dial-one:17] GotoIf("SIP/comaq-0000004d", "1?continue") in new stack
    -- Goto (macro-dial-one,s,25)
    -- Executing [s@macro-dial-one:25] GotoIf("SIP/comaq-0000004d", "0?nodial") in new stack
    -- Executing [s@macro-dial-one:26] GosubIf("SIP/comaq-0000004d", "1?dstring,1:dlocal,1") in new stack
    -- Executing [dstring@macro-dial-one:1] Set("SIP/comaq-0000004d", "DSTRING=") in new stack
    -- Executing [dstring@macro-dial-one:2] Set("SIP/comaq-0000004d", "DEVICES=9001") in new stack
    -- Executing [dstring@macro-dial-one:3] ExecIf("SIP/comaq-0000004d", "0?Return()") in new stack
    -- Executing [dstring@macro-dial-one:4] ExecIf("SIP/comaq-0000004d", "0?Set(DEVICES=001)") in new stack
    -- Executing [dstring@macro-dial-one:5] Set("SIP/comaq-0000004d", "LOOPCNT=1") in new stack
    -- Executing [dstring@macro-dial-one:6] Set("SIP/comaq-0000004d", "ITER=1") in new stack
    -- Executing [dstring@macro-dial-one:7] Set("SIP/comaq-0000004d", "THISDIAL=SIP/9001") in new stack
    -- Executing [dstring@macro-dial-one:8] GosubIf("SIP/comaq-0000004d", "1?zap2dahdi,1") in new stack
    -- Executing [zap2dahdi@macro-dial-one:1] ExecIf("SIP/comaq-0000004d", "0?Return()") in new stack
    -- Executing [zap2dahdi@macro-dial-one:2] Set("SIP/comaq-0000004d", "NEWDIAL=") in new stack
    -- Executing [zap2dahdi@macro-dial-one:3] Set("SIP/comaq-0000004d", "LOOPCNT2=1") in new stack
    -- Executing [zap2dahdi@macro-dial-one:4] Set("SIP/comaq-0000004d", "ITER2=1") in new stack
    -- Executing [zap2dahdi@macro-dial-one:5] Set("SIP/comaq-0000004d", "THISPART2=SIP/9001") in new stack
    -- Executing [zap2dahdi@macro-dial-one:6] ExecIf("SIP/comaq-0000004d", "0?Set(THISPART2=DAHDI/9001)") in new stack
    -- Executing [zap2dahdi@macro-dial-one:7] Set("SIP/comaq-0000004d", "NEWDIAL=SIP/9001&") in new stack
    -- Executing [zap2dahdi@macro-dial-one:8] Set("SIP/comaq-0000004d", "ITER2=2") in new stack
    -- Executing [zap2dahdi@macro-dial-one:9] GotoIf("SIP/comaq-0000004d", "0?begin2") in new stack
    -- Executing [zap2dahdi@macro-dial-one:10] Set("SIP/comaq-0000004d", "THISDIAL=SIP/9001") in new stack
    -- Executing [zap2dahdi@macro-dial-one:11] Return("SIP/comaq-0000004d", "") in new stack
    -- Executing [dstring@macro-dial-one:9] Set("SIP/comaq-0000004d", "DSTRING=SIP/9001&") in new stack
    -- Executing [dstring@macro-dial-one:10] Set("SIP/comaq-0000004d", "ITER=2") in new stack
    -- Executing [dstring@macro-dial-one:11] GotoIf("SIP/comaq-0000004d", "0?begin") in new stack
    -- Executing [dstring@macro-dial-one:12] Set("SIP/comaq-0000004d", "DSTRING=SIP/9001") in new stack
    -- Executing [dstring@macro-dial-one:13] Return("SIP/comaq-0000004d", "") in new stack
    -- Executing [s@macro-dial-one:27] GotoIf("SIP/comaq-0000004d", "0?nodial") in new stack
    -- Executing [s@macro-dial-one:28] GotoIf("SIP/comaq-0000004d", "0?skiptrace") in new stack
    -- Executing [s@macro-dial-one:29] GosubIf("SIP/comaq-0000004d", "0?ctset,1:ctclear,1") in new stack
    -- Executing [ctclear@macro-dial-one:1] NoOp("SIP/comaq-0000004d", "Deleting: CALLTRACE/9001 ") in new stack
    -- Executing [ctclear@macro-dial-one:2] Return("SIP/comaq-0000004d", "") in new stack
    -- Executing [s@macro-dial-one:30] Set("SIP/comaq-0000004d", "D_OPTIONS=tr") in new stack
    -- Executing [s@macro-dial-one:31] ExecIf("SIP/comaq-0000004d", "0?SIPAddHeader(Alert-Info: )") in new stack
    -- Executing [s@macro-dial-one:32] ExecIf("SIP/comaq-0000004d", "0?SIPAddHeader()") in new stack
    -- Executing [s@macro-dial-one:33] ExecIf("SIP/comaq-0000004d", "0?Set(CHANNEL(musicclass)=)") in new stack
    -- Executing [s@macro-dial-one:34] GosubIf("SIP/comaq-0000004d", "0?qwait,1") in new stack
    -- Executing [s@macro-dial-one:35] Set("SIP/comaq-0000004d", "__CWIGNORE=") in new stack
    -- Executing [s@macro-dial-one:36] Set("SIP/comaq-0000004d", "__KEEPCID=TRUE") in new stack
    -- Executing [s@macro-dial-one:37] Dial("SIP/comaq-0000004d", "SIP/9001,"",tr") in new stack
    == Using SIP RTP TOS bits 184
    == Using SIP RTP CoS mark 5
    -- Couldn't call SIP/9001
    == Everyone is busy/congested at this time (0:0/0/0)
    -- Executing [s@macro-dial-one:38] ExecIf("SIP/comaq-0000004d", "0?Set(DIALSTATUS=)") in new stack
    -- Executing [s@macro-dial-one:39] GosubIf("SIP/comaq-0000004d", "0?s-CHANUNAVAIL,1") in new stack
    -- Executing [s@macro-dial-one:40] MacroExit("SIP/comaq-0000004d", "") in new stack
    -- Executing [s@macro-exten-vm:10] GotoIf("SIP/comaq-0000004d", "0?exit") in new stack
    -- Executing [s@macro-exten-vm:11] Set("SIP/comaq-0000004d", "SV_DIALSTATUS=CHANUNAVAIL") in new stack
    -- Executing [s@macro-exten-vm:12] GosubIf("SIP/comaq-0000004d", "0?docfu,1") in new stack
    -- Executing [s@macro-exten-vm:13] GosubIf("SIP/comaq-0000004d", "0?docfb,1") in new stack
    -- Executing [s@macro-exten-vm:14] Set("SIP/comaq-0000004d", "DIALSTATUS=CHANUNAVAIL") in new stack
    -- Executing [s@macro-exten-vm:15] NoOp("SIP/comaq-0000004d", "Voicemail is 'novm'") in new stack
    -- Executing [s@macro-exten-vm:16] GotoIf("SIP/comaq-0000004d", "1?s-CHANUNAVAIL,1") in new stack
    -- Goto (macro-exten-vm,s-CHANUNAVAIL,1)
    -- Executing [s-CHANUNAVAIL@macro-exten-vm:1] NoOp("SIP/comaq-0000004d", "IVR_RETVM: IVR_CONTEXT: ") in new stack
    -- Executing [s-CHANUNAVAIL@macro-exten-vm:2] GotoIf("SIP/comaq-0000004d", "0?exit,1") in new stack
    -- Executing [s-CHANUNAVAIL@macro-exten-vm:3] PlayTones("SIP/comaq-0000004d", "congestion") in new stack
    == Spawn extension (macro-exten-vm, s-CHANUNAVAIL, 3) exited non-zero on 'SIP/comaq-0000004d' in macro 'exten-vm'
    == Spawn extension (from-did-direct, 9001, 1) exited non-zero on 'SIP/comaq-0000004d'
    -- Executing [h@from-did-direct:1] Macro("SIP/comaq-0000004d", "hangupcall,") in new stack
    -- Executing [s@macro-hangupcall:1] GotoIf("SIP/comaq-0000004d", "1?endmixmoncheck") in new stack
    -- Goto (macro-hangupcall,s,9)
    -- Executing [s@macro-hangupcall:9] NoOp("SIP/comaq-0000004d", "End of MIXMON check") in new stack
    -- Executing [s@macro-hangupcall:10] GotoIf("SIP/comaq-0000004d", "1?nomeetmemon") in new stack
    -- Goto (macro-hangupcall,s,28)
    -- Executing [s@macro-hangupcall:28] NoOp("SIP/comaq-0000004d", "End of MEETME check") in new stack
    -- Executing [s@macro-hangupcall:29] GotoIf("SIP/comaq-0000004d", "1?noautomon") in new stack
    -- Goto (macro-hangupcall,s,34)
    -- Executing [s@macro-hangupcall:34] NoOp("SIP/comaq-0000004d", "TOUCH_MONITOR_OUTPUT=") in new stack
    -- Executing [s@macro-hangupcall:35] GotoIf("SIP/comaq-0000004d", "1?noautomon2") in new stack
    -- Goto (macro-hangupcall,s,41)
    -- Executing [s@macro-hangupcall:41] NoOp("SIP/comaq-0000004d", "MONITOR_FILENAME=") in new stack
    -- Executing [s@macro-hangupcall:42] GotoIf("SIP/comaq-0000004d", "1?skiprg") in new stack
    -- Goto (macro-hangupcall,s,45)
    -- Executing [s@macro-hangupcall:45] GotoIf("SIP/comaq-0000004d", "1?skipblkvm") in new stack
    -- Goto (macro-hangupcall,s,48)
    -- Executing [s@macro-hangupcall:48] GotoIf("SIP/comaq-0000004d", "1?theend") in new stack
    -- Goto (macro-hangupcall,s,50)
    -- Executing [s@macro-hangupcall:50] AGI("SIP/comaq-0000004d", "hangup.agi") in new stack
    -- Launched AGI Script /var/lib/asterisk/agi-bin/hangup.agi
    -- <SIP/comaq-0000004d>AGI Script hangup.agi completed, returning 0
    -- Executing [s@macro-hangupcall:51] Hangup("SIP/comaq-0000004d", "") in new stack
    == Spawn extension (macro-hangupcall, s, 51) exited non-zero on 'SIP/comaq-0000004d' in macro 'hangupcall'
    == Spawn extension (from-did-direct, h, 1) exited non-zero on 'SIP/comaq-0000004d'

  8. #8

    Padrão Re: FXO SPA3102 Linha Fixa

    Certo, nesta linha aqui ele diz que o ramal esta ocupado ou congestionado!

    Executing [s@macro-dial-one:37] Dial("SIP/comaq-0000004d", "SIP/9001,"",tr") in new stack
    == Using SIP RTP TOS bits 184
    == Using SIP RTP CoS mark 5
    -- Couldn't call SIP/9001
    == Everyone is busy/congested at this time (0:0/0/0)

    Teste outro ramal ou outro tipo de serviço tipo URA, ou Queues (Fila).

  9. #9

    Padrão Re: FXO SPA3102 Linha Fixa

    Já fiz isso antes mesmo de postar a nova dificuldade, e apresenta o mesmo problema, acredito que seja algum problema de configuração, pois mesmo quando a chamada inicia o primeiro pulso demora uns 7~8 segundos para apresentar o erro.

  10. #10

    Padrão Re: FXO SPA3102 Linha Fixa

    Esse atraso é comum no SPA3102, pelo que vi no log ele esta enviando a chamada para o elastix, então pode ser algo relacionado ao contexto ou configuração das extensões (ramais). Entre ramais você faz e recebe chamadas normalmente?

  11. #11

    Padrão Re: FXO SPA3102 Linha Fixa

    Sim, entre ramais esta normal, inclusive tenho outros troncos e eles estão funcionando normalmente.

  12. #12

    Padrão Re: FXO SPA3102 Linha Fixa

    Compare a configuração com a de outros troncos, veja se o context= é igual entre eles, reinicie o elastix e faça o teste novamente.

  13. #13

    Padrão Re: FXO SPA3102 Linha Fixa

    Consegui! Para quem interessar possa, na dica inicial do colega eeds onde cita o context=from-trunk, mudei para context=from-pstn, e funcionou legal!

    Agora gostaria de saber o seguinte, quando finalizar a ligação pelo ramal do elastix enviar o sinal de desligamento para o SPA3102, pois agora qunado eu finalizo continua em curso a ligação que entrou pela linha fixa, é possível fazer isso?

  14. #14

    Padrão Re: FXO SPA3102 Linha Fixa

    Essa opção do context= é relativa a configuração de cada um, por padrão o elastix usa context=from-trunk, mas como no seu caso isso pode mudar até porque o contexto pode ser personalizado. Em ralação ao encerramento da chamada já tive esse problema também,pelo que li na internet tem a ver com o Disconnect Tone: que fica em PSTN Line tentei varias configurações mas sem sucesso. A solução que consegui foi em Detect PSTN Long Silence: yes,PSTN Long Silence Duration: 30 em Detect VoIP Long Silence: yes, VoIP Long Silence Duration: 30 ele percebe que a chamada foi silenciada e faz o encerramento.