Como configurar o Asterisk para enviar áudio antes que a chamada seja estabelecida

6

É possível configurar o Asterisk para que ele envie pacotes RTP com áudio do receptor antes que a parte remota realmente atenda?

Isso parece ser necessário para um teste de conformidade de VoIP que minha configuração precisa passar. Eles usam um simulador para testar isso, e quando eu ligo para a outra parte, eles pegam o receptor sem enviar um OK. Eu posso ouvir o áudio do outro lado, mas eles não podem me ouvir. Eu olhei em directmediasetup , progressinband , prematuremedia , mas nenhum deles realiza o que eu preciso. É mesmo factível com o Asterisk?

Ambiente:

O Asterisk se registra em um tronco SIP, os telefones SIP de hardware são registrados no Asterisk. Chamadas de saída passam pelo tronco SIP. Versão do asterisco: 1.8.11.

    
por Nikolay Elenkov 20.04.2012 / 06:24

4 respostas

3

A mídia inicial é possível com o Asterisk, mas apenas em determinadas situações, e somente com a cooperação / suporte de todos os dispositivos e serviços envolvidos. Alguns telefones e / ou provedores de serviços não suportam mídia antecipada. O suporte para voz inicial e DTMF antecipada pode variar.

Você tem um telefone SIP registrado no Asterisk, que faz uma chamada para um número externo. O asterisco, por sua vez, disca esse número em um tronco SIP separado. Estas são duas pernas de chamada separadas. O Asterisk pode reproduzir a mídia inicial de volta ao chamador (um toque personalizado ou música em espera, por exemplo) e o Asterisk pode receber mídia inicial da parte externa através do tronco SIP. No entanto, uma instrução Dial () padrão responderá automaticamente () e interligará as pernas da chamada quando a parte remota atender.

Parece que você deseja evitar esse comportamento geralmente desejado e interligar as pernas da chamada sem respondê-las. O aplicativo Dial () permite que você adie a Resposta (automática) normalmente automática usando o 'd' ou Opções 'D'. Não tenho conhecimento de nenhuma opção Dial () que permita que você conecte as pernas da chamada sem responder ().

Por favor, veja o wiki do Asterisk para mais discussão sobre e exemplos de mídia inicial com asterisco .

    
por 28.04.2012 / 18:08
0

Não é possível com asterisco.

O Asterisk não abre o caminho de mídia reversa prematuramente, porque isso faz com que alguns dispositivos parem de funcionar. Só faz mídia prematura em uma direção.

Provavelmente você pode mudar isso reescrevendo o código (os dois pontos de extremidade precisam suportar isso), mas a árvore de código padrão não suporta isso.

    
por 24.04.2012 / 14:29
0

Por que não tirar completamente o Asterisk do caminho da mídia? *

directmedia=yes
directrtpsetup=yes
prematuremedia=no ;this does the exact opposite of what everyone assumes it does
progressinband=no

O Asterisk enviará o Invite para o outro lado com o endereço IP do seu telefone especificado no SDP. Quando o outro lado der um Progresso da Sessão, ele será enviado pelo Asterisk de volta para o seu telefone, com o endereço IP do outro lado no SDP.

Desde que o seu telefone seja compatível, você terá uma mídia inicial bidirecional sem asterisco, mesmo tendo a oportunidade de atrapalhar e estragar tudo.

* bem, o asterisco ainda se re-convidará de volta no final da chamada momentaneamente, mas caso contrário, ele permanece completamente

    
por 24.08.2014 / 06:36
0

Existem duas maneiras. Qualquer um usando a mídia inicial. A outra maneira é usar o aplicativo Answer ().

Em ambos os casos, a mídia virá do lado do Asterisk.

; 183 - session progress method. 
exten=> _X.,1,Progress()
exten=> _X.n,playback(tt-monkeys)
; 200 - Answer 
exten=> _X.,1,Answer()
exten=> _X.,n,playback(tt-monkeys)

    
por 20.08.2015 / 21:25

Tags