<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Tahoma
}
--></style>
</head>
<body class='hmmessage'>
Fernando,<br>obrigado pela resposta. Detalhes:<br><br>São 2 servidores distintos em IPs diferentes (arquivos conf no final).<br><br>Serv.1: Opensips 1.6.3 <br>Serv.2: Asterisk 1.6 + A2Billing 1.4<br><br><b><font style="" color="#c00000">UPDATE</font></b>: Eu consegui "me desviar" do erro do email anterior:<br>Depois dos erros que estavam ocorrendo em relação ao FROM, eu fui no opensips e alterei o cabeçalho para enviar o IP no lugar do ramal de origem.<br>Isso fez com que o asterisk aceitasse a chamada e a encaminhasse para o contexto do Peer.<br><br>Daí, agora eu precisava dar um GOTO para o contexto do A2Billing, só que não vai dar certo porque no FROM existe um IP, e não o ramal que quero bilhetar.<br><br>Entendeu o que eu estou tentando fazer? Bilhetar no A2Billing o ramal chamador do Opensips. Você já fez alguma coisa parecida?<br>opensips+(asterisk+a2billing)?<br><br>Obrigado pela ajuda!<br><br>Abraços!<br><br>Marcelo Amorim Ferreira<br><br><br><br>##################### SIP.CONF<br>[general]<br>port = 5060<br>bindaddr = 0.0.0.0<br>alwaysauthreject=yes<br>srvlookup=yes<br>canreinvite=no<br>allow=all<br>defaultexpiry = 900<br>ignoreregexpire=yes<br><br>[208.109.223.40]<br>type=peer<br>context=opensips<br>host=100.101.102.103<br>fromdomain=100.101.102.103<br>insecure=very<br><br>;RAMAL DO A2BILLING<br>[99999]<br>accountcode=99999<br>regexten=99999<br>amaflags=billing<br>callerid=99999<br>canreinvite=yes<br>context=a2billing<br>dtmfmode=RFC2833<br>host=dynamic<br>nat=yes<br>qualify=no<br>secret=99999<br>type=friend<br>username=99999<br>disallow=all<br>allow=gsm<br>allow=g729<br>allow=ulaw<br>allow=alaw<br>regseconds=0<br>cancallforward=yes<br>cid_number=99999<br><br><br><br>##################### OPENSIPS.CONF<br><br>debug=3<br>log_stderror=no<br>log_facility=LOG_LOCAL0<br><br>fork=yes<br>children=4<br><br>port=5060<br><br>####### Modules Section ########<br>mpath="//lib/opensips/modules/"<br><br>loadmodule "db_mysql.so"<br>loadmodule "signaling.so"<br>loadmodule "sl.so"<br>loadmodule "tm.so"<br>loadmodule "rr.so"<br>loadmodule "maxfwd.so"<br>loadmodule "usrloc.so"<br>loadmodule "registrar.so"<br>loadmodule "textops.so"<br>loadmodule "mi_fifo.so"<br>loadmodule "uri.so"<br>loadmodule "acc.so"<br><br>#maf:modulo para alterar o from<br>loadmodule "uac.so"<br>loadmodule "dialog.so" #dependencia para o uac<br><br>loadmodule "auth.so"<br>loadmodule "auth_db.so"<br><br>modparam("mi_fifo", "fifo_name", "/tmp/opensips_fifo")<br>modparam("rr", "enable_full_lr", 1)<br>modparam("usrloc", "db_mode", 0)<br>modparam("uri", "use_uri_table", 0)<br>modparam("acc", "early_media", 1)<br>modparam("acc", "report_ack", 1)<br>modparam("acc", "report_cancels", 1)<br>modparam("acc", "detect_direction", 0)<br>modparam("acc", "failed_transaction_flag", 3)<br>modparam("acc", "log_flag", 1)<br>modparam("acc", "log_missed_flag", 2)<br>modparam("acc", "db_flag", 1)<br>modparam("acc", "db_missed_flag", 2)<br>modparam("auth_db", "calculate_ha1", yes)<br>modparam("auth_db", "password_column", "password")<br><br>####### Routing Logic ########<br>route{<br><br> if (!mf_process_maxfwd_header("10")) {<br> sl_send_reply("483","Too Many Hops");<br> exit;<br> }<br><br> if (has_totag()) {<br> if (loose_route()) {<br> if (is_method("BYE")) {<br> setflag(1); # do accounting ...<br> setflag(3); # ... even if the transaction fails<br> } else if (is_method("INVITE")) {<br> record_route();<br> }<br> route(1);<br> } else {<br> if ( is_method("ACK") ) {<br> if ( t_check_trans() ) {<br> t_relay();<br> exit;<br> } else {<br> exit;<br> }<br> }<br> sl_send_reply("404","Not here");<br> }<br> exit;<br> }<br><br> if (is_method("CANCEL"))<br> {<br> if (t_check_trans())<br> t_relay();<br> exit;<br> }<br><br> t_check_trans();<br><br> if (loose_route()) {<br> xlog("L_ERR",<br> "Attempt to route with preloaded Route's [$fu/$tu/$ru/$ci]");<br> if (!is_method("ACK"))<br> sl_send_reply("403","Preload Route denied");<br> exit;<br> }<br><br> if (!is_method("REGISTER|MESSAGE"))<br> record_route();<br><br> if (is_method("INVITE")) {<br> setflag(1); # do accounting<br><br> if (uri =~ "sip:0[0-9]@*"){ <br> xlog("Enviado para o Asterisk!\n");<br> uac_replace_from("sip:208.109.223.40@208.109.223.40");<br> route(2);<br> exit;<br> };<br><br> }<br><br> if (!uri==myself)<br> {<br> append_hf("P-hint: outbound\r\n"); <br> route(1);<br> }<br><br> if (is_method("PUBLISH"))<br> {<br> sl_send_reply("503", "Service Unavailable");<br> exit;<br> }<br> <br> if (is_method("REGISTER"))<br> {<br> if (!www_authorize("208.109.223.40", "subscriber"))<br> {<br> www_challenge("208.109.223.40", "0");<br> exit;<br> }<br> <br> if (!db_check_to()) <br> {<br> sl_send_reply("403","Forbidden auth ID");<br> exit;<br> }<br><br> if (!save("location"))<br> sl_reply_error();<br><br> exit;<br> }<br><br> if ($rU==NULL) {<br> sl_send_reply("484","Address Incomplete");<br> exit;<br> }<br><br> if (!lookup("location","m")) {<br> switch ($retcode) {<br> case -1:<br> case -3:<br> t_newtran();<br> t_reply("404", "Tone: Nao Encontrado");<br> exit;<br> case -2:<br> sl_send_reply("405", "Method Not Allowed");<br> exit;<br> }<br> }<br><br> setflag(2);<br><br> route(1);<br>}<br><br><br>route[1] {<br> if (is_method("INVITE")) {<br> t_on_branch("2");<br> t_on_reply("2");<br> t_on_failure("1");<br> }<br><br> if (!t_relay()) {<br> sl_reply_error();<br> };<br> exit;<br>}<br><br>#asterisk<br>route[2] {<br> rewritehostport("sip.liguetone.com.br");<br> route(1);<br>}<br><br>branch_route[2] {<br> xlog("new branch at $ru\n");<br>}<br><br><br>onreply_route[2] {<br> xlog("incoming reply\n");<br>}<br><br>failure_route[1] {<br> if (t_was_cancelled()) {<br> exit;<br> }<br>}<br><br><br><br><hr id="stopSpelling">Date: Thu, 14 Oct 2010 14:04:26 -0300<br>From: fernando@7billing.com.br<br>To: asteriskbrasil@listas.asteriskbrasil.org<br>Subject: Re: [AsteriskBrasil] Opensips + msg erro asterisk<br><br>
<meta http-equiv="Content-Type" content="text/html; charset=unicode">
<meta name="Generator" content="Microsoft SafeHTML">
<style>
</style>
<table id="ecxINCREDIMAINTABLE" height="100%" width="100%" background="http://" bgcolor="#ffffff" border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td style="padding: 20px; font-family: Verdana; direction: ltr; color: rgb(28, 57, 102); font-size: 12pt;" id="ecxINCREDITEXTREGION" valign="top">
<div style="padding-left: 2px;" id="ecxINCREDI_TEXT_AREA">
<div>Boa tarde amigo.</div>
<div> </div>
<div>Tenho esse tipo de solução rodando com Opensips 1.5, Kamailio 1.5 e Kamailio 3.0.</div>
<div> </div>
<div>Poste como está seu sip.conf e seu openser.cfg. </div>
<div> </div>
<div>Os passos para esse tipo de integração é simples. Visto que o OpenSIPS deve rodar em uma porta, e o asterisl em outra, segue-se a lógica:</div>
<div> </div>
<ul>
<li>Asterisk deve estar impedido de receber REGISTER.</li>
<li>Asterisk só aceita chamadas do sip opensips que vc deve cadastrar como peer no sip.conf</li>
<li>OpenSIPS gerencia REGISTER, chamadas de voipxvoip e Roteamento para o Asteris.</li></ul>
<div>Mas sem seus arquivos de configuração e uma melhor explicação do seu cenário fica meio difícil ajudar.</div>
<div> </div>
<div> </div>
<div style="font-family: Verdana; font-size: 12pt;" dir="ltr" id="ecxIncrediOriginalFontSize">
<div id="ecxINCREDISIGNATUREID">
<div style="font-family: Times New Roman;"><font size="2">____________________________________</font></div>
<div style="font-family: Times New Roman;"><font size="2">Fernando da Silva Santos</font></div>
<div style="font-family: Times New Roman;"><font size="2">Desenvolvedor - 7Billing</font></div>
<div style="font-family: Times New Roman;"><font size="2">http://<a href="http://www.7billing.com.br/" target="_blank">www.7billing.com.br</a></font></div></div>
<div style="font-size: 11pt;" dir="ltr" id="ecxIncrediOriginalMessage"><i>-------Original Message-------</i></div>
<div> </div>
<div id="ecxreceivestrings">
<div style="font-size: 11pt;" dir="ltr"><i><b>From:</b></i> <a href="mailto:marcelobaxo@hotmail.com">marcelo ferreira</a></div>
<div style="font-size: 11pt;" dir="ltr"><i><b>Date:</b></i> 13/10/2010 19:39:15</div>
<div style="font-size: 11pt;" dir="ltr"><i><b>To:</b></i> <a href="mailto:asteriskbrasil@listas.asteriskbrasil.org">asteriskbrasil@listas.asteriskbrasil.org</a></div>
<div style="font-size: 11pt;" dir="ltr"><i><b>Subject:</b></i> [AsteriskBrasil] Opensips + msg erro asterisk</div></div>
<div> </div>Pessoal,<br>sou novato ainda nas tecnologias sip+asterisk+opensips+afins.<br>Mas estou trabalhando e estudando há lgum tempo.<br>Então, esta semana eu configurei um Opensips em um servidor (A) e o Asterisk em um servidor (B).<br><br>As primeiras configurações e testes pelos quais passei foi ligar de ramal para ramal utilizando somente o opensips. Deram OK.<br><br>A partir disso, efetuei o rewrite do osips para enviar chamadas pstn para os troncos do asterisk e serem bilhetadas no A2Billing.<br><br>Bem o problema é que agora aparece o (famoso) warning: username mismatch, have <100.200.250.1>, digest has <35418>.<br>Com o debug ativado, o cabeçalho é o seguinte:<br>O opensips está no ip 100.200.250.1<br>O meu softphone é o 150.150.200.132<br><br><--- SIP read from UDP:100.200.250.1:5060 ---><br>INVITE sip:01799998888@sip.liguetone.com.br SIP/2.0<br>Record-Route: <sip:100.200.250.1;lr=on;ftag=eubeh><br>Via: SIP/2.0/UDP 100.200.250.1;branch=z9hG4bKded3.f8b73e07.0<br>Via: SIP/2.0/UDP 192.168.0.18:5060;received=150.150.200.132;rport=5060;branch=z9hG4bKkhfpcdbl<br>Max-Forwards: 69<br>To: <sip:01799998888@100.200.250.1><br>From: "35418" <sip:35418@100.200.250.1>;tag=eubeh<br>Call-ID: soljjmshjthguwo@calango<br>CSeq: 616 INVITE<br>Contact: <sip:35418@192.168.0.18:5060><br>Content-Type: application/sdp<br>Allow: INVITE,ACK,BYE,CANCEL,OPTIONS,PRACK,REFER,NOTIFY,SUBSCRIBE,INFO,MESSAGE<br>Supported: replaces,norefersub,100rel<br>User-Agent: Twinkle/1.4.2<br>Content-Length: 308<br><br>Bem, a partir dessa tentativa, o asterisk está mostrando o warning e depois responde com 403: Forbidden.<br><br>No asterisk configurei um contexto padrão "context=opensips"<br>e inclusive já tentei o "Autocreatepeer=yes" que não fez diferença.<br><br>Tentei utilizar no osips o uac_replace_from setando para o numero do ramal, mas fica na mesma (óbvio :)<br>e tentei colocar alguns cabeçalhos no osips para testar se era algum parâmetro que falta pro asterisk.<br><br>O que os senhores acham? Eu tenho de enviar/alterar algum cabeçalho pelo osips?<br>Eu estou fazendo dessa maneira simplesmente para poder aproveitar o meu A2Billing que já está em produção no asterisk.<br><br>Abraços e muito obrigado!<br><br>Marcelo Amorim Ferreira<br>
<div> </div></div></div></td>
<td valign="bottom" width="1" align="right"><img src=""></td></tr></tbody></table><br>_______________________________________________
KHOMP: qualidade em placas de E1, GSM, FXS e FXO para Asterisk.
- Hardware com alta disponibilidade de recursos e qualidade KHOMP
- Suporte t�cnico local qualificado e gratuito
Conhe�a a linha completa de produtos KHOMP em www.khomp.com.br
_______________________________________________
Temos tudo para seu projeto VoIP com Asterisk!
Descontos especiais para assinantes da AsteriskBrasil.org.
Registre-se e receba um cupom exclusivo de desconto!
Acesse agora www.voipmania.com.br
______________________________________________
Lista de discuss�es AsteriskBrasil.org
AsteriskBrasil@listas.asteriskbrasil.org
http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
______________________________________________
Para remover seu email desta lista, basta enviar um email em branco para asteriskbrasil-unsubscribe@listas.asteriskbrasil.org                                            </body>
</html>