[AsteriskBrasil] RES: RES: Sinalização SIP x Asterisk

Alexandre Abreu abreu em redt.com.br
Quinta Fevereiro 21 11:50:38 BRT 2008


Sim. Ou 183/SDP (inband) com o tom ocupado o que faria seu Asterisk reportar
um "NO ANSWER" em caso de desligamento, pois teríamos um request finalizado
por SIP CANCEL e não SIP BYE.

Sim, correto.

--
Alexandre Abreu
RedT Telecom
http://www.redt.com.br
 
________________________________________
De: asteriskbrasil-bounces em listas.asteriskbrasil.org
[mailto:asteriskbrasil-bounces em listas.asteriskbrasil.org] Em nome de Gmail -
Whinston Rodrigues
Enviada em: quarta-feira, 20 de fevereiro de 2008 19:53
Para: asteriskbrasil em listas.asteriskbrasil.org
Assunto: Re: [AsteriskBrasil]RES: Sinalização SIP x Asterisk

   Alexandre, muito grato pelos esclarecimentos meu caro.
   Esse fornecedor insiste em dizer que mesmo tendo uma resposta de áudio,
ele me envia 486 e meu Asterisk deveria entender isso como ocupado e não
bilhetar. Contudo, isso não acontece. Pelo que entendi da sua resposta, não
vai acontecer nunca mesmo. O correto seria ele parar de mandar mensagem em
áudio e sinalizar apenas 486. Correto?
   Com relação a segunda parte da pergunta, com o Asterisk ficamos limitados
então a retornar Congestion() ou algo assim quando as chamadas não podem ser
completadas?




2008/2/19 Alexandre Abreu <abreu em redt.com.br>:
Vamos ver se eu entendi seu e-mail.
O código que define um terminal SIP como ocupado é o 'SIP 486 - Busy here'
Então temos esse cenário:

--> INVITE
<-- TRYING
<-- SIP 486 - Busy
--> ACK

Aqui fechamos à primeira transação. Acima temos uma típica sinalização onde
o Asterisk não interpreta como 'answered' (progresso out-of-band).

Acontece que em alguns casos, dada algumas conversões de sinalização, alguns
gateways enviam o progresso de uma sessão (o tom de chamada/sinal de
ocupado) através do que chamamos de EARLY MEDIA (SIP 183/SDP), em pacotes
RTP (inband). Ainda nesse caso, temos um o progresso definido 'inband' e não
temos uma resposta final positiva (200 OK).

Se tivermos:

--> INVITE
<-- TRYING
<-- 180 RINGING
<-- 200 OK
--> ACK

Nesse caso acima temos um cenário típico de ATENDIMENTO, e por mais que a
mensagem seja 'usuário ocupado' ou afins, o Asterisk interpreta como
'Answered' porque DE FATO o handshake de inicialização da sessão recebeu uma
resposta final positiva.

É claro que a forma como sua ligação vai ser tratada depende do nível de
interconexão que estão te oferecendo. Muitas empresas utilizam o Asterisk
pra revender seus minutos o que tornam as coisas complicadas em certos
aspectos... (Usam o maldito 'r' no Dial, fazem Playback() em caso de
ligações ocupadas, entre outras coisas desconfortáveis).

Agora em relação à outra questão:

Não, não tem alguma forma. O Asterisk não foi concebido para responder com
códigos SIP a critério do administrador. Se tua solução realmente tende pra
este lado, você precisa de um SIP PROXY como o (Open)SER. Mais
especificamente a função sl_send_reply().

--
Alexandre Abreu
RedT Telecom
http://www.redt.com.br
 
________________________________________
De: asteriskbrasil-bounces em listas.asteriskbrasil.org
[mailto:asteriskbrasil-bounces em listas.asteriskbrasil.org] Em nome de Gmail -
Whinston Rodrigues
Enviada em: sexta-feira, 15 de fevereiro de 2008 14:31
Para: Asterisk - Lista
Assunto: [AsteriskBrasil] Sinalização SIP x Asterisk
   Estou com duas dúvidas que estão relacionadas, então ao invés de mandar
duas mensagens, acho que seria interessante colocar tudo numa única, pois
provavelmente mais gente pode ter essa situação.

   Não sei quantos de vocês operam via interconexão SIP com suas
terminações, mas creio que exista um bom número.
   Pela experiência que tenho com várias terminações, nunca nenhuma me
enviou sinalização 100% correta, ou seja, quando o telefone de destino está
ocupado por exemplo, muitos enviando ring, outros dão uma mensagem de voz
falando que está ocupado, etc.
   O fato que está ocorrendo é que sempre que o fornecedor mandam um ACK-200
e depois passa uma gravação falando que o ramal está ocupado, o Asterisk
interpreta isso como atendida (answered) e gera bilhetagem. O fornecedor
garante que é o padrão RFC e que após a mensagem gravada, ele sinaliza como
ocupado (o que não comprei no debug).
   Alguém tem caso similar? É possível fazer o Asterisk entender que mesmo
que ocorra uma gravação, não é pra bilhetar a chamada se for informado o
código SIP que indica busy ?

   A segunda pergunta, relacionada com essa, é se tem alguma forma da gente
forçar mensagens pelo Asterisk, ou seja, quando chega uma chamada (tipo um
callback), a gente faça o tratamento adequado em cima do número entrante e
devolva códigos SIP pra plataforma que originou a chamada, de forma a melhor
identificar o ocorrido, sem a necessidade de passar o áudio (gravação
falando o que houve).

   Grato antecipadamente.
_______________________________________________
Compre uma camiseta da AsteriskBrasil.org!
           http://www.voipmania.com.br
               == VoIPMania.com.br ==

_______________________________________________
LIsta de discussões AsteriskBrasil.org
AsteriskBrasil em listas.asteriskbrasil.org
http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil



-- 
Whinston Saura Rodrigues
BoxBrasil 



More information about the AsteriskBrasil mailing list