<meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="ProgId" content="Word.Document"><meta name="Generator" content="Microsoft Word 9"><meta name="Originator" content="Microsoft Word 9"><link rel="File-List" href="file:///C:/DOCUME%7E1/RROLIV%7E1/LOCALS%7E1/Temp/msoclip1/01/clip_filelist.xml"><style>
<!--
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {mso-style-parent:"";
        margin:0in;
        margin-bottom:.0001pt;
        mso-pagination:widow-orphan;
        font-size:12.0pt;
        font-family:"Times New Roman";
        mso-fareast-font-family:"Times New Roman";}
@page Section1
        {size:8.5in 11.0in;
        margin:70.85pt 85.05pt 70.85pt 85.05pt;
        mso-header-margin:.5in;
        mso-footer-margin:.5in;
        mso-paper-source:0;}
div.Section1
        {page:Section1;}
-->
</style>
<p class="MsoNormal">Pessoal,</p>
<p class="MsoNormal"> </p>
<p class="MsoNormal">A RFC 3261 descreve o seguinte cenário para sinalização
entre proxy´s:</p>
<p class="MsoNormal"> </p>
<p class="MsoNormal">Alice ---> Alice proxy (<a href="http://atlanta.com">atlanta.com</a>) ---> Bob proxy
(<a href="http://biloxi.com">biloxi.com</a>) ---> Bob</p>
<p class="MsoNormal"> </p>
<p class="MsoNormal">Eliminando as mensagens '100 Trying' que não acrescentam
nada e alguns headers que também não são importantes temos:</p>
<p class="MsoNormal"> </p>
<p class="MsoNormal"><span style="" lang="EN-US">1) INVITE
Alice -> <a href="http://atlanta.com">atlanta.com</a> proxy </span></p>
<p class="MsoNormal"><span style="" lang="EN-US"> </span></p>
<p class="MsoNormal"><span style="" lang="EN-US">INVITE
<a href="mailto:sip%3Abob@biloxi.com">sip:bob@biloxi.com</a> SIP/2.0 </span></p>
<p class="MsoNormal"><span style="" lang="EN-US">Via:
SIP/2.0/UDP <a href="http://pc33.atlanta.com">pc33.atlanta.com</a>;branch=z9hG4bKnashds8 </span></p>
<p class="MsoNormal"><span style="" lang="EN-US">To: Bob
<<a href="mailto:sip%3Abob@biloxi.com">sip:bob@biloxi.com</a>> </span></p>
<p class="MsoNormal"><span style="" lang="EN-US">From: Alice
<<a href="mailto:sip%3Aalice@atlanta.com">sip:alice@atlanta.com</a>>;tag=1928301774 </span></p>
<p class="MsoNormal"><span style="" lang="EN-US">Contact:
<<a href="mailto:sip%3Aalice@pc33.atlanta.com">sip:alice@pc33.atlanta.com</a>> </span></p>
<p class="MsoNormal"><span style="" lang="EN-US"> </span></p>
<p class="MsoNormal"><span style="" lang="EN-US">2) INVITE
<a href="http://atlanta.com">atlanta.com</a> proxy -> <a href="http://biloxi.com">biloxi.com</a> proxy </span></p>
<p class="MsoNormal"><span style="" lang="EN-US"> </span></p>
<p class="MsoNormal"><span style="" lang="EN-US">INVITE
<a href="mailto:sip%3Abob@biloxi.com">sip:bob@biloxi.com</a> SIP/2.0 </span></p>
<p class="MsoNormal"><span style="" lang="EN-US">Via:
SIP/2.0/UDP <a href="http://bigbox3.site3.atlanta.com">bigbox3.site3.atlanta.com</a>;branch=z9hG4bK77ef4c2312983.1 </span></p>
<p class="MsoNormal"><span style="" lang="EN-US">Via:
SIP/2.0/UDP <a href="http://pc33.atlanta.com">pc33.atlanta.com</a>;branch=z9hG4bKnashds8 ;received=192.0.2.1 </span></p>
<p class="MsoNormal"><span style="" lang="EN-US">To: Bob
<<a href="mailto:sip%3Abob@biloxi.com">sip:bob@biloxi.com</a>> </span></p>
<p class="MsoNormal"><span style="" lang="EN-US">From: Alice
<<a href="mailto:sip%3Aalice@atlanta.com">sip:alice@atlanta.com</a>>;tag=1928301774 </span></p>
<p class="MsoNormal">Contact: <<a href="mailto:sip%3Aalice@pc33.atlanta.com">sip:alice@pc33.atlanta.com</a>> </p>
<p class="MsoNormal"> </p>
<p class="MsoNormal">3) INVITE <a href="http://biloxi.com">biloxi.com</a> proxy -> Bob</p>
<p class="MsoNormal"> </p>
<p class="MsoNormal">Aqui o proxy do Bob consulta o registrar e determina que o
Bob está em <a href="mailto:bob@192.0.2.4">bob@192.0.2.4</a>, mudando o Request-URI apropriadamente (mas mantendo
o To: original)</p>
<p class="MsoNormal"> </p>
<p class="MsoNormal"><span style="" lang="EN-US">INVITE
<a href="mailto:sip%3Abob@192.0.2.4">sip:bob@192.0.2.4</a> SIP/2.0 </span></p>
<p class="MsoNormal">Via: SIP/2.0/UDP
<a href="http://server10.biloxi.com">server10.biloxi.com</a>;branch=z9hG4bK4b43c2ff8.1 </p>
<p class="MsoNormal"><span style="" lang="EN-US">Via:
SIP/2.0/UDP <a href="http://bigbox3.site3.atlanta.com">bigbox3.site3.atlanta.com</a>;branch=z9hG4bK77ef4c2312983.1
;received=192.0.2.2 </span></p>
<p class="MsoNormal"><span style="" lang="EN-US">Via:
SIP/2.0/UDP <a href="http://pc33.atlanta.com">pc33.atlanta.com</a>;branch=z9hG4bKnashds8 ;received=192.0.2.1 </span></p>
<p class="MsoNormal"><span style="" lang="EN-US">To: Bob
<<a href="mailto:sip%3Abob@biloxi.com">sip:bob@biloxi.com</a>> </span></p>
<p class="MsoNormal"><span style="" lang="EN-US">From: Alice
<<a href="mailto:sip%3Aalice@atlanta.com">sip:alice@atlanta.com</a>>;tag=1928301774 </span></p>
<p class="MsoNormal">Contact: <<a href="mailto:sip%3Aalice@pc33.atlanta.com">sip:alice@pc33.atlanta.com</a>> </p>
<p class="MsoNormal"> </p>
<p class="MsoNormal">O exemplo completo está no RFC.
(<a href="http://www.faqs.org/rfcs/rfc3261.html">http://www.faqs.org/rfcs/rfc3261.html</a>) - seção 24.2</p>
<p class="MsoNormal"> </p>
<p class="MsoNormal">É possível simular este comportamento no asterisk? É possível
utilizar o campo Contact do REGISTER como Request-URI para chamadas de um
determinado assinante?</p>
<p class="MsoNormal"> </p>
<p class="MsoNormal">Segue abaixo um exemplo ilustrando a situação: </p>
<p class="MsoNormal"> </p>
<p class="MsoNormal">1) Registro: Os headers To e From contém o 'public user id',
que é o nome do usuário, enquanto o Contact identifica efetivamente a
localização do usuário:</p>
<p class="MsoNormal"> </p>
<p class="MsoNormal"><span style="" lang="EN-US">REGISTER
sip:10.31.1.194 SIP/2.0 </span></p>
<p class="MsoNormal"><span style="" lang="EN-US">To: Rota_Oi
<<a href="mailto:sip%3Arota_oi@10.31.1.194">sip:rota_oi@10.31.1.194</a>> </span></p>
<p class="MsoNormal"><span style="" lang="EN-US">From:
Rota_Oi <<a href="mailto:sip%3Arota_oi@10.31.1.194">sip:rota_oi@10.31.1.194</a>>;tag=456248 </span></p>
<p class="MsoNormal"><span style="" lang="EN-US">Contact:
<<a href="mailto:sip%3A_trkgrp_1@192.168.10.4">sip:_trkgrp_1@192.168.10.4</a>> Expires: 7200</span></p>
<p class="MsoNormal"><span style="" lang="EN-US"> </span></p>
<p class="MsoNormal"><span style="" lang="EN-US">SIP/2.0 200
OK </span></p>
<p class="MsoNormal"><span style="" lang="EN-US">To: Rota_Oi
<<a href="mailto:sip%3Arota_oi@10.31.1.194">sip:rota_oi@10.31.1.194</a>>;tag=2493k59kd </span></p>
<p class="MsoNormal"><span style="" lang="EN-US">From:
Rota_Oi <<a href="mailto:sip%3Arota_oi@10.31.1.194">sip:rota_oi@10.31.1.194</a>>;tag=456248 </span></p>
<p class="MsoNormal">Contact: <<a href="mailto:sip%3A_trkgrp_1@192.168.10.4">sip:_trkgrp_1@192.168.10.4</a>> Expires: 3600</p>
<p class="MsoNormal"> </p>
<p class="MsoNormal">- O IP 10.31.1.194 é o IP do Asterisk;</p>
<p class="MsoNormal">- O IP 192.168.10.4 é o IP do UA que controla o usuário
'rota_oi';</p>
<p class="MsoNormal"> </p>
<p class="MsoNormal">- Após o registro, o Asterisk sabe que as sequências
discadas direcionadas ao UA "Rota_Oi" devem ser encaminhadas para o
endereço <a href="mailto:sip%3A_trkgrp_1@192.168.10.4">sip:_trkgrp_1@192.168.10.4</a></p>
<p class="MsoNormal"> </p>
<p class="MsoNormal">2) Chamada originada em uma interface FXS (ex. usuário 1000
conectado à interface FXS_5 com endereço IP 192.168.10.5), destinada para um
número externo (ex. +553121215252), acessível via rota_oi :</p>
<p class="MsoNormal"> </p>
<p class="MsoNormal">A) A placa FXS encaminha chamada para Asterisk:</p>
<p class="MsoNormal"> </p>
<p class="MsoNormal"><span style="" lang="EN-US">INVITE <a href="mailto:sip%3A%2B553121215252@10.31.1.194">sip:+553121215252@10.31.1.194</a>
SIP/2.0 </span></p>
<p class="MsoNormal"><span style="" lang="EN-US">To:
<<a href="mailto:sip%3A%2B553121215252@10.31.1.194">sip:+553121215252@10.31.1.194</a>;user=phone> </span></p>
<p class="MsoNormal"><span style="" lang="EN-US">From:
<<a href="mailto:sip%3A1000@10.31.1.194">sip:1000@10.31.1.194</a>;user=phone>;tag=1928301774 </span></p>
<p class="MsoNormal">Contact: <<a href="mailto:sip%3A_fxs_5@192.168.10.5">sip:_fxs_5@192.168.10.5</a>> </p>
<p class="MsoNormal"> </p>
<p class="MsoNormal">B) O Asterisk faz análise da sequência e determina que a
chamada deve ser encaminhada via Rota Oi. Consultando o registrar, determina o
endereço do UA que controla a rota_oi "_<a href="mailto:trkgrp_1@192.168.10.4">trkgrp_1@192.168.10.4</a> - Contact do
Registro" e encaminha a chamada:</p>
<p class="MsoNormal"> </p>
<p class="MsoNormal"><span style="" lang="EN-US">INVITE
<a href="mailto:sip%3A_trkgrp_1@192.168.10.4">sip:_trkgrp_1@192.168.10.4</a> SIP/2.0 </span></p>
<p class="MsoNormal"><span style="" lang="EN-US">To:
<<a href="mailto:sip%3A%2B553121215252@10.31.1.194">sip:+553121215252@10.31.1.194</a>;user=phone> </span></p>
<p class="MsoNormal"><span style="" lang="EN-US">From:
<<a href="mailto:sip%3A1000@10.31.1.194">sip:1000@10.31.1.194</a>>;tag=1928301774 </span></p>
<p class="MsoNormal">Contact: <<a href="mailto:sip%3A_fxs_5@192.168.10.5">sip:_fxs_5@192.168.10.5</a>> </p>
<p class="MsoNormal"> </p>
<p class="MsoNormal">Repare que o Request-URI contém o contact que identifica o
UA "_trkgrp_1" previamente registrado e o To: continua tendo o número
de destino no formato E.164, de maneira que a chamada continuaria sendo
encaminhada normalmente.</p>
<p class="MsoNormal"> </p>
<p class="MsoNormal">É possível simular este comportamento no asterisk? </p>
<p class="MsoNormal"> </p>
<span style="font-size: 12pt; font-family: "Times New Roman";">Obrigado,<br><br>Roniton Oliveira<br></span>