&nbsp;&nbsp; Alexandre, muito grato pelos esclarecimentos meu caro.<br>&nbsp;&nbsp; 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?<br>
&nbsp;&nbsp; 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?<br><br><div class="gmail_quote">2008/2/19 Alexandre Abreu &lt;<a href="mailto:abreu@redt.com.br">abreu@redt.com.br</a>&gt;:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Vamos ver se eu entendi seu e-mail.<br>
O código que define um terminal SIP como ocupado é o &#39;SIP 486 - Busy here&#39;<br>
Então temos esse cenário:<br>
<br>
--&gt; INVITE<br>
&lt;-- TRYING<br>
&lt;-- SIP 486 - Busy<br>
--&gt; ACK<br>
<br>
Aqui fechamos à primeira transação. Acima temos uma típica sinalização onde<br>
o Asterisk não interpreta como &#39;answered&#39; (progresso out-of-band).<br>
<br>
Acontece que em alguns casos, dada algumas conversões de sinalização, alguns<br>
gateways enviam o progresso de uma sessão (o tom de chamada/sinal de<br>
ocupado) através do que chamamos de EARLY MEDIA (SIP 183/SDP), em pacotes<br>
RTP (inband). Ainda nesse caso, temos um o progresso definido &#39;inband&#39; e não<br>
temos uma resposta final positiva (200 OK).<br>
<br>
Se tivermos:<br>
<br>
--&gt; INVITE<br>
&lt;-- TRYING<br>
&lt;-- 180 RINGING<br>
&lt;-- 200 OK<br>
--&gt; ACK<br>
<br>
Nesse caso acima temos um cenário típico de ATENDIMENTO, e por mais que a<br>
mensagem seja &#39;usuário ocupado&#39; ou afins, o Asterisk interpreta como<br>
&#39;Answered&#39; porque DE FATO o handshake de inicialização da sessão recebeu uma<br>
resposta final positiva.<br>
<br>
É claro que a forma como sua ligação vai ser tratada depende do nível de<br>
interconexão que estão te oferecendo. Muitas empresas utilizam o Asterisk<br>
pra revender seus minutos o que tornam as coisas complicadas em certos<br>
aspectos... (Usam o maldito &#39;r&#39; no Dial, fazem Playback() em caso de<br>
ligações ocupadas, entre outras coisas desconfortáveis).<br>
<br>
Agora em relação à outra questão:<br>
<br>
Não, não tem alguma forma. O Asterisk não foi concebido para responder com<br>
códigos SIP a critério do administrador. Se tua solução realmente tende pra<br>
este lado, você precisa de um SIP PROXY como o (Open)SER. Mais<br>
especificamente a função sl_send_reply().<br>
<br>
--<br>
Alexandre Abreu<br>
RedT Telecom<br>
<a href="http://www.redt.com.br" target="_blank">http://www.redt.com.br</a><br>
&nbsp;<br>
________________________________________<br>
<div class="Ih2E3d">De: <a href="mailto:asteriskbrasil-bounces@listas.asteriskbrasil.org">asteriskbrasil-bounces@listas.asteriskbrasil.org</a><br>
</div>[mailto:<a href="mailto:asteriskbrasil-bounces@listas.asteriskbrasil.org">asteriskbrasil-bounces@listas.asteriskbrasil.org</a>] Em nome de Gmail -<br>
Whinston Rodrigues<br>
Enviada em: sexta-feira, 15 de fevereiro de 2008 14:31<br>
<div class="Ih2E3d">Para: Asterisk - Lista<br>
Assunto: [AsteriskBrasil] Sinalização SIP x Asterisk<br>
<br>
</div><div><div></div><div class="Wj3C7c">&nbsp;&nbsp; Estou com duas dúvidas que estão relacionadas, então ao invés de mandar<br>
duas mensagens, acho que seria interessante colocar tudo numa única, pois<br>
provavelmente mais gente pode ter essa situação.<br>
<br>
&nbsp;&nbsp; Não sei quantos de vocês operam via interconexão SIP com suas<br>
terminações, mas creio que exista um bom número.<br>
&nbsp;&nbsp; Pela experiência que tenho com várias terminações, nunca nenhuma me<br>
enviou sinalização 100% correta, ou seja, quando o telefone de destino está<br>
ocupado por exemplo, muitos enviando ring, outros dão uma mensagem de voz<br>
falando que está ocupado, etc.<br>
&nbsp;&nbsp; O fato que está ocorrendo é que sempre que o fornecedor mandam um ACK-200<br>
e depois passa uma gravação falando que o ramal está ocupado, o Asterisk<br>
interpreta isso como atendida (answered) e gera bilhetagem. O fornecedor<br>
garante que é o padrão RFC e que após a mensagem gravada, ele sinaliza como<br>
ocupado (o que não comprei no debug).<br>
&nbsp;&nbsp; Alguém tem caso similar? É possível fazer o Asterisk entender que mesmo<br>
que ocorra uma gravação, não é pra bilhetar a chamada se for informado o<br>
código SIP que indica busy ?<br>
<br>
&nbsp;&nbsp; A segunda pergunta, relacionada com essa, é se tem alguma forma da gente<br>
forçar mensagens pelo Asterisk, ou seja, quando chega uma chamada (tipo um<br>
callback), a gente faça o tratamento adequado em cima do número entrante e<br>
devolva códigos SIP pra plataforma que originou a chamada, de forma a melhor<br>
identificar o ocorrido, sem a necessidade de passar o áudio (gravação<br>
falando o que houve).<br>
<br>
&nbsp;&nbsp; Grato antecipadamente.<br>
<br>
</div></div><div><div></div><div class="Wj3C7c">_______________________________________________<br>
Compre uma camiseta da AsteriskBrasil.org!<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<a href="http://www.voipmania.com.br" target="_blank">http://www.voipmania.com.br</a><br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;== <a href="http://VoIPMania.com.br" target="_blank">VoIPMania.com.br</a> ==<br>
<br>
_______________________________________________<br>
LIsta de discussões AsteriskBrasil.org<br>
<a href="mailto:AsteriskBrasil@listas.asteriskbrasil.org">AsteriskBrasil@listas.asteriskbrasil.org</a><br>
<a href="http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil" target="_blank">http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil</a><br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>Whinston Saura Rodrigues<br> BoxBrasil