Re: [OpenSIPS-Users] Sip server dipping/advice
And starting with trunk version, OpenSIPS implements a REST client - see http://www.opensips.org/html/docs/modules/devel/rest_client.html Regards, Bogdan-Andrei Iancu OpenSIPS Founder and Developer http://www.opensips-solutions.com On 05/23/2013 08:14 AM, Daniel Yu wrote: M.Khaled, It may be easier to perform HTTP Queries to perform the LRN lookup. Have a look at www.bulkvs.com http://www.bulkvs.com where we offer HTTP based LRN DIPs. Cheers - Daniel -- Forwarded message -- From: *M.Khaled W Chehab* kche...@icucall.com mailto:kche...@icucall.com Date: Tue, May 14, 2013 at 6:17 AM Subject: [OpenSIPS-Users] Sip server dipping/advice To: users@lists.opensips.org mailto:users@lists.opensips.org, users-boun...@lists.opensips.org mailto:users-boun...@lists.opensips.org Hi, I am using opensips 1.8.x with do_routing module ,and trying to implement the US dipping service in my script I am sending the call to the dipping sip server gateway and receive the 302 message containing the LRN number , As as result I can have the rn number but I am sending the invite to the dipping provider twice ,please can you advice how to setup it in the right way if ($rU=~^.) { route(7); route(1); exit; route[1] { if (subst_uri('/(sip:.*);nat=yes/\1/')) { setbflag(6); } if (isflagset(5)) { search_append('Contact:.*sip:[^[:cntrl:]]*', ';nat=yes'); } # for INVITEs enable some additional helper routes if (is_method(INVITE)) { t_on_branch(2); t_on_reply(2); t_on_failure(1); avp_db_query(UPDATE `opensips`.`invites` set `trunkip` ='$rd' where `CALLID` = '$ci' ); } else if (is_method(BYE)) { setflag(1); # do accounting ... setflag(3); #transaction falis setflag(4); #CDR Table xlog(Route 1 Bye---); } else if (is_method(ACK)) { # call answered an ACKed, start billing here } else if (is_method(CANCEL)) { # call cancelled by caller, do clean up here' ); } if (!t_relay()) { xlog(L_INFO, --Debug Customer ID:$avp(Cusid)/IP:$si--#11###Reply: $T_reply_code\n); send_reply(500,Internal Error); }; exit; } route[7]{ if (!do_routing($avp(Cusid),FW)) { drop(); exit; } } route[6] { if ( use_next_gw() ) { $var(prefix) = $(avp(gw_attrs){csv.value,1}); $rU = $var(prefix) + $avp(dst); xlog(L_INFO, --Debug Customer ID:$avp(Cusid)/IP:$si-Calling number to Next Provier $rU\n); setflag(26); #Missed calls t_on_failure(1); t_relay(); exit; } } branch_route[2] { xlog(L_INFO, --Debug Customer ID:$avp(Cusid)/IP:$si-new branch at $ru\n); route(7); } failure_route[1] { if (!t_check_status(302)) { if (!next_routing()){ xlog(L_INFO, LRN - Unable to DIP); t_reply(500,Unable to DIP); exit; } xlog(L_INFO, LRN - Unable to DIP - Trying Next); t_on_failure(1); t_relay(); exit; } if (!$(replyct.fields(uri){param.value,rn})){ xlog(L_INFO, LRN - No redirect information found); route(1); }else if ($(replyct.fields(uri){param.value,rn}) == $tU){ xlog(L_INFO, LRN - Returned same number, no need to redirect); route(1); }else{ xlog(LRN-$rU---Else lRN $avp(lrnct)-); $rU=$avp(lrnct
Re: [OpenSIPS-Users] Sip server dipping/advice
M.Khaled, It may be easier to perform HTTP Queries to perform the LRN lookup. Have a look at www.bulkvs.com where we offer HTTP based LRN DIPs. Cheers - Daniel -- Forwarded message -- From: M.Khaled W Chehab kche...@icucall.com Date: Tue, May 14, 2013 at 6:17 AM Subject: [OpenSIPS-Users] Sip server dipping/advice To: users@lists.opensips.org, users-boun...@lists.opensips.org Hi, ** ** ** ** I am using opensips 1.8.x with do_routing module ,and trying to implement the US dipping service in my script I am sending the call to the dipping sip server gateway and receive the 302 message containing the LRN number , As as result I can have the rn number but I am sending the invite to the dipping provider twice ,please can you advice how to setup it in the right way if ($rU=~^.) { route(7); route(1); exit; ** ** route[1] { if (subst_uri('/(sip:.*);nat=yes/\1/')) { setbflag(6); } ** ** if (isflagset(5)) { search_append('Contact:.*sip:[^[:cntrl:]]*', ';nat=yes');* *** } # for INVITEs enable some additional helper routes if (is_method(INVITE)) { ** ** t_on_branch(2); t_on_reply(2); t_on_failure(1); avp_db_query(UPDATE `opensips`.`invites` set `trunkip` ='$rd' where `CALLID` = '$ci' ); ** ** } else if (is_method(BYE)) { setflag(1); # do accounting ... setflag(3); #transaction falis setflag(4); #CDR Table xlog(Route 1 Bye---); } else if (is_method(ACK)) { # call answered an ACKed, start billing here ** ** } else if (is_method(CANCEL)) { # call cancelled by caller, do clean up here' ); } ** ** if (!t_relay()) { xlog(L_INFO, --Debug Customer ID:$avp(Cusid)/IP:$si--#11###Reply: $T_reply_code\n); ** ** send_reply(500,Internal Error); }; ** ** exit; } route[7]{ if (!do_routing($avp(Cusid),FW)) { drop(); exit; } } ** ** route[6] { if ( use_next_gw() ) { $var(prefix) = $(avp(gw_attrs){csv.value,1}); $rU = $var(prefix) + $avp(dst); xlog(L_INFO, --Debug Customer ID:$avp(Cusid)/IP:$si-Calling number to Next Provier $rU\n); setflag(26); #Missed calls t_on_failure(1); t_relay(); exit; } } ** ** branch_route[2] { xlog(L_INFO, --Debug Customer ID:$avp(Cusid)/IP:$si-new branch at $ru\n); route(7); } ** ** failure_route[1] { ** ** if (!t_check_status(302)) { if (!next_routing()){ xlog(L_INFO, LRN - Unable to DIP); t_reply(500,Unable to DIP); exit; } xlog(L_INFO, LRN - Unable to DIP - Trying Next); t_on_failure(1); t_relay(); exit; } ** ** if (!$(replyct.fields(uri){param.value,rn})){ xlog(L_INFO, LRN - No redirect information found); route(1); }else if ($(replyct.fields(uri){param.value,rn}) == $tU){ xlog(L_INFO, LRN - Returned same number, no need to redirect); route(1); }else{ xlog(LRN-$rU---Else lRN $avp(lrnct)-); $rU=$avp(lrnct); xlog(LRN-$rU---Else lRN $avp(lrnct)-); ** ** route(1); } if (!t_check_status(487)) { #$avp(failure_count) = $avp(failure_count) + 1; 480|486|603 route(6
[OpenSIPS-Users] Sip server dipping/advice
Hi, I am using opensips 1.8.x with do_routing module ,and trying to implement the US dipping service in my script I am sending the call to the dipping sip server gateway and receive the 302 message containing the LRN number , As as result I can have the rn number but I am sending the invite to the dipping provider twice ,please can you advice how to setup it in the right way if ($rU=~^.) { route(7); route(1); exit; route[1] { if (subst_uri('/(sip:.*);nat=yes/\1/')) { setbflag(6); } if (isflagset(5)) { search_append('Contact:.*sip:[^[:cntrl:]]*', ';nat=yes'); } # for INVITEs enable some additional helper routes if (is_method(INVITE)) { t_on_branch(2); t_on_reply(2); t_on_failure(1); avp_db_query(UPDATE `opensips`.`invites` set `trunkip` ='$rd' where `CALLID` = '$ci' ); } else if (is_method(BYE)) { setflag(1); # do accounting ... setflag(3); #transaction falis setflag(4); #CDR Table xlog(Route 1 Bye---); } else if (is_method(ACK)) { # call answered an ACKed, start billing here } else if (is_method(CANCEL)) { # call cancelled by caller, do clean up here' ); } if (!t_relay()) { xlog(L_INFO, --Debug Customer ID:$avp(Cusid)/IP:$si--#11###Reply: $T_reply_code\n); send_reply(500,Internal Error); }; exit; } route[7]{ if (!do_routing($avp(Cusid),FW)) { drop(); exit; } } route[6] { if ( use_next_gw() ) { $var(prefix) = $(avp(gw_attrs){csv.value,1}); $rU = $var(prefix) + $avp(dst); xlog(L_INFO, --Debug Customer ID:$avp(Cusid)/IP:$si-Calling number to Next Provier $rU\n); setflag(26); #Missed calls t_on_failure(1); t_relay(); exit; } } branch_route[2] { xlog(L_INFO, --Debug Customer ID:$avp(Cusid)/IP:$si-new branch at $ru\n); route(7); } failure_route[1] { if (!t_check_status(302)) { if (!next_routing()){ xlog(L_INFO, LRN - Unable to DIP); t_reply(500,Unable to DIP); exit; } xlog(L_INFO, LRN - Unable to DIP - Trying Next); t_on_failure(1); t_relay(); exit; } if (!$(replyct.fields(uri){param.value,rn})){ xlog(L_INFO, LRN - No redirect information found); route(1); }else if ($(replyct.fields(uri){param.value,rn}) == $tU){ xlog(L_INFO, LRN - Returned same number, no need to redirect); route(1); }else{ xlog(LRN-$rU---Else lRN $avp(lrnct)-); $rU=$avp(lrnct); xlog(LRN-$rU---Else lRN $avp(lrnct)-); route(1); } if (!t_check_status(487)) { #$avp(failure_count) = $avp(failure_count) + 1; 480|486|603 route(6); } } } ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users