Re: [OpenSIPS-Users] Sip server dipping/advice

2013-05-23 Thread Bogdan-Andrei Iancu
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

2013-05-22 Thread Daniel Yu
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

2013-05-14 Thread M.Khaled W Chehab
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