Opensips drouting probing

classic Classic list List threaded Threaded
20 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Opensips drouting probing

OpenSIPS - Users mailing list
Hello!
 
According to drouting module documentation i am trying to introduce a probing feature to control destination SIP UA access.
Almost everything works correct, besides one thing.
If i have only one destination, which became inaccessible, Opensips "freezes" a call, i.e. it sends 100 trying (script logging) and after does not sent any code (i expected, that Opensips will sent 408 code in such situation after fr_timeout triggering).
Inaccessible destination has "probing" status and i see OPTIONS sent by Opensis to destination.
 
Server:: OpenSIPS (2.2.3 (x86_64/linux))
 
Thank you for any help.
 
-- 
С уважением, Денис.
Best regards, Denis
 
 
 

_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Opensips drouting probing

Bogdan-Andrei Iancu-2
Hi Denis,

I suspect a scripting error on your side. If all the destinations are disabled, the do_routing() returns a negative code into the script - you need to handle this case and send back whatever negative reply you want. The Drouting modules does not do any SIP signalling for you.

Best regards,
Bogdan-Andrei Iancu
  OpenSIPS Founder and Developer
  http://www.opensips-solutions.com

OpenSIPS Summit May 2017 Amsterdam
  http://www.opensips.org/events/Summit-2017Amsterdam.html
On 03/17/2017 07:50 AM, Denis via Users wrote:
Hello!
 
According to drouting module documentation i am trying to introduce a probing feature to control destination SIP UA access.
Almost everything works correct, besides one thing.
If i have only one destination, which became inaccessible, Opensips "freezes" a call, i.e. it sends 100 trying (script logging) and after does not sent any code (i expected, that Opensips will sent 408 code in such situation after fr_timeout triggering).
Inaccessible destination has "probing" status and i see OPTIONS sent by Opensis to destination.
 
Server:: OpenSIPS (2.2.3 (x86_64/linux))
 
Thank you for any help.
 
-- 
С уважением, Денис.
Best regards, Denis
 
 
 


_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users


_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Opensips drouting probing

OpenSIPS - Users mailing list
Hello, Bogdan!
 
Yes, i know about that.
In failure_route i have
if (($DLG_status == 1) && t_check_status("408"))
action. And it works if i have multiple direction (using alternative mode) for the prefix.
But when i use only one direction for the prefix i have the problem described below.
 
Thank you.
 
-- 
С уважением, Денис.
Best regards, Denis
 
 
 
20.03.2017, 15:24, "Bogdan-Andrei Iancu" <[hidden email]>:
Hi Denis,

I suspect a scripting error on your side. If all the destinations are disabled, the do_routing() returns a negative code into the script - you need to handle this case and send back whatever negative reply you want. The Drouting modules does not do any SIP signalling for you.

Best regards,
Bogdan-Andrei Iancu
  OpenSIPS Founder and Developer
  http://www.opensips-solutions.com

OpenSIPS Summit May 2017 Amsterdam
  http://www.opensips.org/events/Summit-2017Amsterdam.html
On 03/17/2017 07:50 AM, Denis via Users wrote:
Hello!
 
According to drouting module documentation i am trying to introduce a probing feature to control destination SIP UA access.
Almost everything works correct, besides one thing.
If i have only one destination, which became inaccessible, Opensips "freezes" a call, i.e. it sends 100 trying (script logging) and after does not sent any code (i expected, that Opensips will sent 408 code in such situation after fr_timeout triggering).
Inaccessible destination has "probing" status and i see OPTIONS sent by Opensis to destination.
 
Server:: OpenSIPS (2.2.3 (x86_64/linux))
 
Thank you for any help.
 
-- 
С уважением, Денис.
Best regards, Denis
 
 
 
 
_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users

_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Opensips drouting probing

Bogdan-Andrei Iancu-2
Failure route does not help you if your routing does not start at all - if do_routing() returns negative. Again, in request route, test the return code for do_routing() - it will return a negative code if no destination is available for routing.

Regards,
Bogdan-Andrei Iancu
  OpenSIPS Founder and Developer
  http://www.opensips-solutions.com

OpenSIPS Summit May 2017 Amsterdam
  http://www.opensips.org/events/Summit-2017Amsterdam.html
On 03/20/2017 02:28 PM, Denis wrote:
Hello, Bogdan!
 
Yes, i know about that.
In failure_route i have
if (($DLG_status == 1) && t_check_status("408"))
action. And it works if i have multiple direction (using alternative mode) for the prefix.
But when i use only one direction for the prefix i have the problem described below.
 
Thank you.
 
-- 
С уважением, Денис.
Best regards, Denis
 
 
 
20.03.2017, 15:24, "Bogdan-Andrei Iancu" [hidden email]:
Hi Denis,

I suspect a scripting error on your side. If all the destinations are disabled, the do_routing() returns a negative code into the script - you need to handle this case and send back whatever negative reply you want. The Drouting modules does not do any SIP signalling for you.

Best regards,
Bogdan-Andrei Iancu
  OpenSIPS Founder and Developer
  http://www.opensips-solutions.com

OpenSIPS Summit May 2017 Amsterdam
  http://www.opensips.org/events/Summit-2017Amsterdam.html
On 03/17/2017 07:50 AM, Denis via Users wrote:
Hello!
 
According to drouting module documentation i am trying to introduce a probing feature to control destination SIP UA access.
Almost everything works correct, besides one thing.
If i have only one destination, which became inaccessible, Opensips "freezes" a call, i.e. it sends 100 trying (script logging) and after does not sent any code (i expected, that Opensips will sent 408 code in such situation after fr_timeout triggering).
Inaccessible destination has "probing" status and i see OPTIONS sent by Opensis to destination.
 
Server:: OpenSIPS (2.2.3 (x86_64/linux))
 
Thank you for any help.
 
-- 
С уважением, Денис.
Best regards, Denis
 
 
 
 
_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users


_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Opensips drouting probing

OpenSIPS - Users mailing list
Hello, Bogdan!
 
"test the return code for do_routing()".
How can i do that?
 
I tried
if (!do_routing("$avp(5)","W",,"$avp(300)","$avp(3)",)) {
 xlog ("Route4: Reason = $rc");
}
but can see in log only "INFO:drouting:do_routing: All the gateways are disabled".
 
Thank you.
 
-- 
С уважением, Денис.
Best regards, Denis
 
 
 
20.03.2017, 17:20, "Bogdan-Andrei Iancu" <[hidden email]>:
Failure route does not help you if your routing does not start at all - if do_routing() returns negative. Again, in request route, test the return code for do_routing() - it will return a negative code if no destination is available for routing.

Regards,
Bogdan-Andrei Iancu
  OpenSIPS Founder and Developer
  http://www.opensips-solutions.com

OpenSIPS Summit May 2017 Amsterdam
  http://www.opensips.org/events/Summit-2017Amsterdam.html
On 03/20/2017 02:28 PM, Denis wrote:
Hello, Bogdan!
 
Yes, i know about that.
In failure_route i have
if (($DLG_status == 1) && t_check_status("408"))
action. And it works if i have multiple direction (using alternative mode) for the prefix.
But when i use only one direction for the prefix i have the problem described below.
 
Thank you.
 
-- 
С уважением, Денис.
Best regards, Denis
 
 
 
20.03.2017, 15:24, "Bogdan-Andrei Iancu" [hidden email]:
Hi Denis,

I suspect a scripting error on your side. If all the destinations are disabled, the do_routing() returns a negative code into the script - you need to handle this case and send back whatever negative reply you want. The Drouting modules does not do any SIP signalling for you.

Best regards,
Bogdan-Andrei Iancu
  OpenSIPS Founder and Developer
  http://www.opensips-solutions.com

OpenSIPS Summit May 2017 Amsterdam
  http://www.opensips.org/events/Summit-2017Amsterdam.html
On 03/17/2017 07:50 AM, Denis via Users wrote:
Hello!
 
According to drouting module documentation i am trying to introduce a probing feature to control destination SIP UA access.
Almost everything works correct, besides one thing.
If i have only one destination, which became inaccessible, Opensips "freezes" a call, i.e. it sends 100 trying (script logging) and after does not sent any code (i expected, that Opensips will sent 408 code in such situation after fr_timeout triggering).
Inaccessible destination has "probing" status and i see OPTIONS sent by Opensis to destination.
 
Server:: OpenSIPS (2.2.3 (x86_64/linux))
 
Thank you for any help.
 
-- 
С уважением, Денис.
Best regards, Denis
 
 
 
 
_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users

_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Opensips drouting probing

Bogdan-Andrei Iancu-2
Hi,

You should do :
    if (!do_routing(.......) ) {
        send_reply("404","No Route");
        exit;
    }

Regards,
Bogdan-Andrei Iancu
  OpenSIPS Founder and Developer
  http://www.opensips-solutions.com

OpenSIPS Summit May 2017 Amsterdam
  http://www.opensips.org/events/Summit-2017Amsterdam.html
On 03/23/2017 04:21 PM, Denis wrote:
Hello, Bogdan!
 
"test the return code for do_routing()".
How can i do that?
 
I tried
if (!do_routing("$avp(5)","W",,"$avp(300)","$avp(3)",)) {
 xlog ("Route4: Reason = $rc");
}
but can see in log only <a class="moz-txt-link-rfc2396E" href="INFO:drouting:do_routing:Allthegatewaysaredisabled">"INFO:drouting:do_routing: All the gateways are disabled".
 
Thank you.
 
-- 
С уважением, Денис.
Best regards, Denis
 
 
 
20.03.2017, 17:20, "Bogdan-Andrei Iancu" [hidden email]:
Failure route does not help you if your routing does not start at all - if do_routing() returns negative. Again, in request route, test the return code for do_routing() - it will return a negative code if no destination is available for routing.

Regards,
Bogdan-Andrei Iancu
  OpenSIPS Founder and Developer
  http://www.opensips-solutions.com

OpenSIPS Summit May 2017 Amsterdam
  http://www.opensips.org/events/Summit-2017Amsterdam.html
On 03/20/2017 02:28 PM, Denis wrote:
Hello, Bogdan!
 
Yes, i know about that.
In failure_route i have
if (($DLG_status == 1) && t_check_status("408"))
action. And it works if i have multiple direction (using alternative mode) for the prefix.
But when i use only one direction for the prefix i have the problem described below.
 
Thank you.
 
-- 
С уважением, Денис.
Best regards, Denis
 
 
 
20.03.2017, 15:24, "Bogdan-Andrei Iancu" [hidden email]:
Hi Denis,

I suspect a scripting error on your side. If all the destinations are disabled, the do_routing() returns a negative code into the script - you need to handle this case and send back whatever negative reply you want. The Drouting modules does not do any SIP signalling for you.

Best regards,
Bogdan-Andrei Iancu
  OpenSIPS Founder and Developer
  http://www.opensips-solutions.com

OpenSIPS Summit May 2017 Amsterdam
  http://www.opensips.org/events/Summit-2017Amsterdam.html
On 03/17/2017 07:50 AM, Denis via Users wrote:
Hello!
 
According to drouting module documentation i am trying to introduce a probing feature to control destination SIP UA access.
Almost everything works correct, besides one thing.
If i have only one destination, which became inaccessible, Opensips "freezes" a call, i.e. it sends 100 trying (script logging) and after does not sent any code (i expected, that Opensips will sent 408 code in such situation after fr_timeout triggering).
Inaccessible destination has "probing" status and i see OPTIONS sent by Opensis to destination.
 
Server:: OpenSIPS (2.2.3 (x86_64/linux))
 
Thank you for any help.
 
-- 
С уважением, Денис.
Best regards, Denis
 
 
 
 
_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users


_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Opensips drouting probing

OpenSIPS - Users mailing list
Hello!
 
It does not work.
Opensips "freezes" a call.
 
 
-- 
С уважением, Денис.
Best regards, Denis
 
 
 
23.03.2017, 18:42, "Bogdan-Andrei Iancu" <[hidden email]>:
Hi,

You should do :
    if (!do_routing(.......) ) {
        send_reply("404","No Route");
        exit;
    }

Regards,
Bogdan-Andrei Iancu
  OpenSIPS Founder and Developer
  http://www.opensips-solutions.com

OpenSIPS Summit May 2017 Amsterdam
  http://www.opensips.org/events/Summit-2017Amsterdam.html
On 03/23/2017 04:21 PM, Denis wrote:
Hello, Bogdan!
 
"test the return code for do_routing()".
How can i do that?
 
I tried
if (!do_routing("$avp(5)","W",,"$avp(300)","$avp(3)",)) {
 xlog ("Route4: Reason = $rc");
}
 
Thank you.
 
-- 
С уважением, Денис.
Best regards, Denis
 
 
 
20.03.2017, 17:20, "Bogdan-Andrei Iancu" [hidden email]:
Failure route does not help you if your routing does not start at all - if do_routing() returns negative. Again, in request route, test the return code for do_routing() - it will return a negative code if no destination is available for routing.

Regards,
Bogdan-Andrei Iancu
  OpenSIPS Founder and Developer
  http://www.opensips-solutions.com

OpenSIPS Summit May 2017 Amsterdam
  http://www.opensips.org/events/Summit-2017Amsterdam.html
On 03/20/2017 02:28 PM, Denis wrote:
Hello, Bogdan!
 
Yes, i know about that.
In failure_route i have
if (($DLG_status == 1) && t_check_status("408"))
action. And it works if i have multiple direction (using alternative mode) for the prefix.
But when i use only one direction for the prefix i have the problem described below.
 
Thank you.
 
-- 
С уважением, Денис.
Best regards, Denis
 
 
 
20.03.2017, 15:24, "Bogdan-Andrei Iancu" [hidden email]:
Hi Denis,

I suspect a scripting error on your side. If all the destinations are disabled, the do_routing() returns a negative code into the script - you need to handle this case and send back whatever negative reply you want. The Drouting modules does not do any SIP signalling for you.

Best regards,
Bogdan-Andrei Iancu
  OpenSIPS Founder and Developer
  http://www.opensips-solutions.com

OpenSIPS Summit May 2017 Amsterdam
  http://www.opensips.org/events/Summit-2017Amsterdam.html
On 03/17/2017 07:50 AM, Denis via Users wrote:
Hello!
 
According to drouting module documentation i am trying to introduce a probing feature to control destination SIP UA access.
Almost everything works correct, besides one thing.
If i have only one destination, which became inaccessible, Opensips "freezes" a call, i.e. it sends 100 trying (script logging) and after does not sent any code (i expected, that Opensips will sent 408 code in such situation after fr_timeout triggering).
Inaccessible destination has "probing" status and i see OPTIONS sent by Opensis to destination.
 
Server:: OpenSIPS (2.2.3 (x86_64/linux))
 
Thank you for any help.
 
-- 
С уважением, Денис.
Best regards, Denis
 
 
 
 
_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users

_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Opensips drouting probing

OpenSIPS - Users mailing list
Hello, Bogdan!
 
Is there any idea about problem?
 
Thank you.
 
-- 
С уважением, Денис.
Best regards, Denis
 
 
 
 
 
24.03.2017, 07:52, "Denis" <[hidden email]>:
Hello!
 
It does not work.
Opensips "freezes" a call.
 
 
-- 
С уважением, Денис.
Best regards, Denis
 
 
 
23.03.2017, 18:42, "Bogdan-Andrei Iancu" <[hidden email]>:
Hi,

You should do :
    if (!do_routing(.......) ) {
        send_reply("404","No Route");
        exit;
    }

Regards,
Bogdan-Andrei Iancu
  OpenSIPS Founder and Developer
  http://www.opensips-solutions.com

OpenSIPS Summit May 2017 Amsterdam
  http://www.opensips.org/events/Summit-2017Amsterdam.html
On 03/23/2017 04:21 PM, Denis wrote:
Hello, Bogdan!
 
"test the return code for do_routing()".
How can i do that?
 
I tried
if (!do_routing("$avp(5)","W",,"$avp(300)","$avp(3)",)) {
 xlog ("Route4: Reason = $rc");
}
 
Thank you.
 
-- 
С уважением, Денис.
Best regards, Denis
 
 
 
20.03.2017, 17:20, "Bogdan-Andrei Iancu" [hidden email]:
Failure route does not help you if your routing does not start at all - if do_routing() returns negative. Again, in request route, test the return code for do_routing() - it will return a negative code if no destination is available for routing.

Regards,
Bogdan-Andrei Iancu
  OpenSIPS Founder and Developer
  http://www.opensips-solutions.com

OpenSIPS Summit May 2017 Amsterdam
  http://www.opensips.org/events/Summit-2017Amsterdam.html
On 03/20/2017 02:28 PM, Denis wrote:
Hello, Bogdan!
 
Yes, i know about that.
In failure_route i have
if (($DLG_status == 1) && t_check_status("408"))
action. And it works if i have multiple direction (using alternative mode) for the prefix.
But when i use only one direction for the prefix i have the problem described below.
 
Thank you.
 
-- 
С уважением, Денис.
Best regards, Denis
 
 
 
20.03.2017, 15:24, "Bogdan-Andrei Iancu" [hidden email]:
Hi Denis,

I suspect a scripting error on your side. If all the destinations are disabled, the do_routing() returns a negative code into the script - you need to handle this case and send back whatever negative reply you want. The Drouting modules does not do any SIP signalling for you.

Best regards,
Bogdan-Andrei Iancu
  OpenSIPS Founder and Developer
  http://www.opensips-solutions.com

OpenSIPS Summit May 2017 Amsterdam
  http://www.opensips.org/events/Summit-2017Amsterdam.html
On 03/17/2017 07:50 AM, Denis via Users wrote:
Hello!
 
According to drouting module documentation i am trying to introduce a probing feature to control destination SIP UA access.
Almost everything works correct, besides one thing.
If i have only one destination, which became inaccessible, Opensips "freezes" a call, i.e. it sends 100 trying (script logging) and after does not sent any code (i expected, that Opensips will sent 408 code in such situation after fr_timeout triggering).
Inaccessible destination has "probing" status and i see OPTIONS sent by Opensis to destination.
 
Server:: OpenSIPS (2.2.3 (x86_64/linux))
 
Thank you for any help.
 
-- 
С уважением, Денис.
Best regards, Denis
 
 
 
 
_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users

_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Opensips drouting probing

OpenSIPS - Users mailing list
In additional,
a part of the opensips.cfg
 
xlog ("Prepare routing");
if (!do_routing("$avp(5)","W",,"$avp(300)","$avp(3)",)) {
        send_reply("404", "Not found");
         exit;
}
 
a part of the log
 
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: Prepare routing
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:drouting:do_routing_1: using weights in GW selection
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:drouting:do_routing: using dr group 2, rule_idx 0, username 88123364021
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:drouting:internal_check_rt: found rgid 2 (rule list 0x7f77f0f63188)
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialplan:dp_translate_f: dpid is 20004 partition is default
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialplan:dp_get_svalue: searching 15
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialplan:dp_translate_f: input is 88123364021
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialplan:dp_translate_f: Checking with dpid 20004
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialplan:translate: Regex operator testing. Got result: -1
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialplan:translate: No matching rule for input 88123364021
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialplan:dp_translate_f: could not translate 88123364021 with dpid 20004
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: INFO:drouting:do_routing: All the gateways are disabled
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialog:next_state_dlg: unref dlg 0x7f77f3c8bc70 with 1 -> 2 in entry 0x7f77ef003548
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:core:evi_param_set: adding string param
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:core:evi_param_set: adding string param
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:core:evi_param_set: adding int param
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:core:evi_param_set: adding int param
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:core:destroy_avp_list: destroying list (nil)
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialog:next_state_dlg: dialog 0x7f77f3c8bc70 changed from state 1 to state 5, due event 1
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialog:dlg_onreply: dialog 0x7f77f3c8bc70 failed (negative reply)
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialog:unref_dlg: unref dlg 0x7f77f3c8bc70 with 1 -> 1 in entry 0x7f77ef003548
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialog:unref_dlg: unref dlg 0x7f77f3c8bc70 with 1 -> 0 in entry 0x7f77ef003548
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialog:unref_dlg: ref <=0 for dialog 0x7f77f3c8bc70
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialog:destroy_dlg: destroying dialog 0x7f77f3c8bc70
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialog:destroy_dlg: dlg expired or not in list - dlg 0x7f77f3c8bc70 [1301:1538288757] with clid '84253MzdiNGJmNzcwYjI1OTE2NmE2ZDUyNGJmZWJiYWQ3NTM' and tags '2c479443' 'NULL'
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:core:destroy_avp_list: destroying list 0x7f77f3c8ed08
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:core:receive_msg: cleaning up
 
-- 
С уважением, Денис.
Best regards, Denis
 
 
 
 
 
28.03.2017, 13:00, "Denis" <[hidden email]>:
Hello, Bogdan!
 
Is there any idea about problem?
 
Thank you.
 
-- 
С уважением, Денис.
Best regards, Denis
 
 
 
 
 
24.03.2017, 07:52, "Denis" <[hidden email]>:
Hello!
 
It does not work.
Opensips "freezes" a call.
 
 
-- 
С уважением, Денис.
Best regards, Denis
 
 
 
23.03.2017, 18:42, "Bogdan-Andrei Iancu" <[hidden email]>:
Hi,

You should do :
    if (!do_routing(.......) ) {
        send_reply("404","No Route");
        exit;
    }

Regards,
Bogdan-Andrei Iancu
  OpenSIPS Founder and Developer
  http://www.opensips-solutions.com

OpenSIPS Summit May 2017 Amsterdam
  http://www.opensips.org/events/Summit-2017Amsterdam.html
On 03/23/2017 04:21 PM, Denis wrote:
Hello, Bogdan!
 
"test the return code for do_routing()".
How can i do that?
 
I tried
if (!do_routing("$avp(5)","W",,"$avp(300)","$avp(3)",)) {
 xlog ("Route4: Reason = $rc");
}
 
Thank you.
 
-- 
С уважением, Денис.
Best regards, Denis
 
 
 
20.03.2017, 17:20, "Bogdan-Andrei Iancu" [hidden email]:
Failure route does not help you if your routing does not start at all - if do_routing() returns negative. Again, in request route, test the return code for do_routing() - it will return a negative code if no destination is available for routing.

Regards,
Bogdan-Andrei Iancu
  OpenSIPS Founder and Developer
  http://www.opensips-solutions.com

OpenSIPS Summit May 2017 Amsterdam
  http://www.opensips.org/events/Summit-2017Amsterdam.html
On 03/20/2017 02:28 PM, Denis wrote:
Hello, Bogdan!
 
Yes, i know about that.
In failure_route i have
if (($DLG_status == 1) && t_check_status("408"))
action. And it works if i have multiple direction (using alternative mode) for the prefix.
But when i use only one direction for the prefix i have the problem described below.
 
Thank you.
 
-- 
С уважением, Денис.
Best regards, Denis
 
 
 
20.03.2017, 15:24, "Bogdan-Andrei Iancu" [hidden email]:
Hi Denis,

I suspect a scripting error on your side. If all the destinations are disabled, the do_routing() returns a negative code into the script - you need to handle this case and send back whatever negative reply you want. The Drouting modules does not do any SIP signalling for you.

Best regards,
Bogdan-Andrei Iancu
  OpenSIPS Founder and Developer
  http://www.opensips-solutions.com

OpenSIPS Summit May 2017 Amsterdam
  http://www.opensips.org/events/Summit-2017Amsterdam.html
On 03/17/2017 07:50 AM, Denis via Users wrote:
Hello!
 
According to drouting module documentation i am trying to introduce a probing feature to control destination SIP UA access.
Almost everything works correct, besides one thing.
If i have only one destination, which became inaccessible, Opensips "freezes" a call, i.e. it sends 100 trying (script logging) and after does not sent any code (i expected, that Opensips will sent 408 code in such situation after fr_timeout triggering).
Inaccessible destination has "probing" status and i see OPTIONS sent by Opensis to destination.
 
Server:: OpenSIPS (2.2.3 (x86_64/linux))
 
Thank you for any help.
 
-- 
С уважением, Денис.
Best regards, Denis
 
 
 
 
_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users

_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Opensips drouting probing

Bogdan-Andrei Iancu-2
Hi Denis,

Again, as drouting is not doing any signalling action, it CANNOT block/freeze your OpenSIPS.

Use script_trace() function to see how your INVITE is handled :
    http://www.opensips.org/Documentation/Script-CoreFunctions-2-2#toc43

Regards,
Bogdan-Andrei Iancu
  OpenSIPS Founder and Developer
  http://www.opensips-solutions.com

OpenSIPS Summit May 2017 Amsterdam
  http://www.opensips.org/events/Summit-2017Amsterdam.html
On 03/28/2017 04:46 PM, Denis via Users wrote:
In additional,
a part of the opensips.cfg
 
xlog ("Prepare routing");
if (!do_routing("$avp(5)","W",,"$avp(300)","$avp(3)",)) {
        send_reply("404", "Not found");
         exit;
}
 
a part of the log
 
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: Prepare routing
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:drouting:do_routing_1: using weights in GW selection
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:drouting:do_routing: using dr group 2, rule_idx 0, username 88123364021
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:drouting:internal_check_rt: found rgid 2 (rule list 0x7f77f0f63188)
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialplan:dp_translate_f: dpid is 20004 partition is default
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialplan:dp_get_svalue: searching 15
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialplan:dp_translate_f: input is 88123364021
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialplan:dp_translate_f: Checking with dpid 20004
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialplan:translate: Regex operator testing. Got result: -1
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialplan:translate: No matching rule for input 88123364021
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialplan:dp_translate_f: could not translate 88123364021 with dpid 20004
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: <a class="moz-txt-link-freetext" href="INFO:drouting:do_routing">INFO:drouting:do_routing: All the gateways are disabled
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialog:next_state_dlg: unref dlg 0x7f77f3c8bc70 with 1 -> 2 in entry 0x7f77ef003548
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:core:evi_param_set: adding string param
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:core:evi_param_set: adding string param
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:core:evi_param_set: adding int param
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:core:evi_param_set: adding int param
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:core:destroy_avp_list: destroying list (nil)
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialog:next_state_dlg: dialog 0x7f77f3c8bc70 changed from state 1 to state 5, due event 1
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialog:dlg_onreply: dialog 0x7f77f3c8bc70 failed (negative reply)
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialog:unref_dlg: unref dlg 0x7f77f3c8bc70 with 1 -> 1 in entry 0x7f77ef003548
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialog:unref_dlg: unref dlg 0x7f77f3c8bc70 with 1 -> 0 in entry 0x7f77ef003548
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialog:unref_dlg: ref <=0 for dialog 0x7f77f3c8bc70
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialog:destroy_dlg: destroying dialog 0x7f77f3c8bc70
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialog:destroy_dlg: dlg expired or not in list - dlg 0x7f77f3c8bc70 [1301:1538288757] with clid '84253MzdiNGJmNzcwYjI1OTE2NmE2ZDUyNGJmZWJiYWQ3NTM' and tags '2c479443' 'NULL'
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:core:destroy_avp_list: destroying list 0x7f77f3c8ed08
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:core:receive_msg: cleaning up
 
-- 
С уважением, Денис.
Best regards, Denis
 
 
 
 
 
28.03.2017, 13:00, "Denis" <[hidden email]>:
Hello, Bogdan!
 
Is there any idea about problem?
 
Thank you.
 
-- 
С уважением, Денис.
Best regards, Denis
 
 
 
 
 
24.03.2017, 07:52, "Denis" <[hidden email]>:
Hello!
 
It does not work.
Opensips "freezes" a call.
 
 
-- 
С уважением, Денис.
Best regards, Denis
 
 
 
23.03.2017, 18:42, "Bogdan-Andrei Iancu" <[hidden email]>:
Hi,

You should do :
    if (!do_routing(.......) ) {
        send_reply("404","No Route");
        exit;
    }

Regards,
Bogdan-Andrei Iancu
  OpenSIPS Founder and Developer
  http://www.opensips-solutions.com

OpenSIPS Summit May 2017 Amsterdam
  http://www.opensips.org/events/Summit-2017Amsterdam.html
On 03/23/2017 04:21 PM, Denis wrote:
Hello, Bogdan!
 
"test the return code for do_routing()".
How can i do that?
 
I tried
if (!do_routing("$avp(5)","W",,"$avp(300)","$avp(3)",)) {
 xlog ("Route4: Reason = $rc");
}
 
Thank you.
 
-- 
С уважением, Денис.
Best regards, Denis
 
 
 
20.03.2017, 17:20, "Bogdan-Andrei Iancu" [hidden email]:
Failure route does not help you if your routing does not start at all - if do_routing() returns negative. Again, in request route, test the return code for do_routing() - it will return a negative code if no destination is available for routing.

Regards,
Bogdan-Andrei Iancu
  OpenSIPS Founder and Developer
  http://www.opensips-solutions.com

OpenSIPS Summit May 2017 Amsterdam
  http://www.opensips.org/events/Summit-2017Amsterdam.html
On 03/20/2017 02:28 PM, Denis wrote:
Hello, Bogdan!
 
Yes, i know about that.
In failure_route i have
if (($DLG_status == 1) && t_check_status("408"))
action. And it works if i have multiple direction (using alternative mode) for the prefix.
But when i use only one direction for the prefix i have the problem described below.
 
Thank you.
 
-- 
С уважением, Денис.
Best regards, Denis
 
 
 
20.03.2017, 15:24, "Bogdan-Andrei Iancu" [hidden email]:
Hi Denis,

I suspect a scripting error on your side. If all the destinations are disabled, the do_routing() returns a negative code into the script - you need to handle this case and send back whatever negative reply you want. The Drouting modules does not do any SIP signalling for you.

Best regards,
Bogdan-Andrei Iancu
  OpenSIPS Founder and Developer
  http://www.opensips-solutions.com

OpenSIPS Summit May 2017 Amsterdam
  http://www.opensips.org/events/Summit-2017Amsterdam.html
On 03/17/2017 07:50 AM, Denis via Users wrote:
Hello!
 
According to drouting module documentation i am trying to introduce a probing feature to control destination SIP UA access.
Almost everything works correct, besides one thing.
If i have only one destination, which became inaccessible, Opensips "freezes" a call, i.e. it sends 100 trying (script logging) and after does not sent any code (i expected, that Opensips will sent 408 code in such situation after fr_timeout triggering).
Inaccessible destination has "probing" status and i see OPTIONS sent by Opensis to destination.
 
Server:: OpenSIPS (2.2.3 (x86_64/linux))
 
Thank you for any help.
 
-- 
С уважением, Денис.
Best regards, Denis
 
 
 
 
_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users


_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users


_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Opensips drouting probing

OpenSIPS - Users mailing list
Bogdan,
 
Ok, dr_rules has filled 'routeid' column.
In routeid i, using dialplan, verify dialed prefix for some reason. If dialed prefix verified i make some action, if not, returns to the parent route.
In my example, dialed prefix does not verified.
 
So, route with do_routing
951: xlog ("Prepare routing");
952: if (!do_routing("$avp(5)",,,"$avp(300)","$avp(3)",)) {  
953: send_reply("404", "Not found");
954: exit;
955: }
route [routeid] {   
1848: if (dp_translate("20004", "$rU/$rU", "$avp(999)")) {

  ........
} else {
   ......
}  
1867: }
 
The last strings for the call flow in syslog:
 
:951][me][core xlog]
:952][me][module do_routing]
:1867][me][core if]
:1848][me][module dp_translate]
INFO:drouting:do_routing: All the gateways are disabled
 
That is all. After that only my CANCEL from the caller, because there is no provisioning message after 100 Trying from Opensips.
 
-- 
С уважением, Денис.
Best regards, Denis
 
 
 
04.04.2017, 14:14, "Bogdan-Andrei Iancu" <[hidden email]>:
Hi Denis,

Again, as drouting is not doing any signalling action, it CANNOT block/freeze your OpenSIPS.

Use script_trace() function to see how your INVITE is handled :
    http://www.opensips.org/Documentation/Script-CoreFunctions-2-2#toc43

Regards,
Bogdan-Andrei Iancu
  OpenSIPS Founder and Developer
  http://www.opensips-solutions.com

OpenSIPS Summit May 2017 Amsterdam
  http://www.opensips.org/events/Summit-2017Amsterdam.html
On 03/28/2017 04:46 PM, Denis via Users wrote:
In additional,
a part of the opensips.cfg
 
xlog ("Prepare routing");
if (!do_routing("$avp(5)","W",,"$avp(300)","$avp(3)",)) {
        send_reply("404", "Not found");
         exit;
}
 
a part of the log
 
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: Prepare routing
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:drouting:do_routing_1: using weights in GW selection
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:drouting:do_routing: using dr group 2, rule_idx 0, username 88123364021
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:drouting:internal_check_rt: found rgid 2 (rule list 0x7f77f0f63188)
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialplan:dp_translate_f: dpid is 20004 partition is default
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialplan:dp_get_svalue: searching 15
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialplan:dp_translate_f: input is 88123364021
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialplan:dp_translate_f: Checking with dpid 20004
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialplan:translate: Regex operator testing. Got result: -1
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialplan:translate: No matching rule for input 88123364021
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialplan:dp_translate_f: could not translate 88123364021 with dpid 20004
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: INFO:drouting:do_routing: All the gateways are disabled
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialog:next_state_dlg: unref dlg 0x7f77f3c8bc70 with 1 -> 2 in entry 0x7f77ef003548
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:core:evi_param_set: adding string param
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:core:evi_param_set: adding string param
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:core:evi_param_set: adding int param
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:core:evi_param_set: adding int param
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:core:destroy_avp_list: destroying list (nil)
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialog:next_state_dlg: dialog 0x7f77f3c8bc70 changed from state 1 to state 5, due event 1
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialog:dlg_onreply: dialog 0x7f77f3c8bc70 failed (negative reply)
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialog:unref_dlg: unref dlg 0x7f77f3c8bc70 with 1 -> 1 in entry 0x7f77ef003548
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialog:unref_dlg: unref dlg 0x7f77f3c8bc70 with 1 -> 0 in entry 0x7f77ef003548
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialog:unref_dlg: ref <=0 for dialog 0x7f77f3c8bc70
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialog:destroy_dlg: destroying dialog 0x7f77f3c8bc70
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialog:destroy_dlg: dlg expired or not in list - dlg 0x7f77f3c8bc70 [1301:1538288757] with clid '84253MzdiNGJmNzcwYjI1OTE2NmE2ZDUyNGJmZWJiYWQ3NTM' and tags '2c479443' 'NULL'
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:core:destroy_avp_list: destroying list 0x7f77f3c8ed08
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:core:receive_msg: cleaning up
 
-- 
С уважением, Денис.
Best regards, Denis
 
 
 
 
 
28.03.2017, 13:00, "Denis" <[hidden email]>:
Hello, Bogdan!
 
Is there any idea about problem?
 
Thank you.
 
-- 
С уважением, Денис.
Best regards, Denis
 
 
 
 
 
24.03.2017, 07:52, "Denis" <[hidden email]>:
Hello!
 
It does not work.
Opensips "freezes" a call.
 
 
-- 
С уважением, Денис.
Best regards, Denis
 
 
 
23.03.2017, 18:42, "Bogdan-Andrei Iancu" <[hidden email]>:
Hi,

You should do :
    if (!do_routing(.......) ) {
        send_reply("404","No Route");
        exit;
    }

Regards,
Bogdan-Andrei Iancu
  OpenSIPS Founder and Developer
  http://www.opensips-solutions.com

OpenSIPS Summit May 2017 Amsterdam
  http://www.opensips.org/events/Summit-2017Amsterdam.html
On 03/23/2017 04:21 PM, Denis wrote:
Hello, Bogdan!
 
"test the return code for do_routing()".
How can i do that?
 
I tried
if (!do_routing("$avp(5)","W",,"$avp(300)","$avp(3)",)) {
 xlog ("Route4: Reason = $rc");
}
 
Thank you.
 
-- 
С уважением, Денис.
Best regards, Denis
 
 
 
20.03.2017, 17:20, "Bogdan-Andrei Iancu" [hidden email]:
Failure route does not help you if your routing does not start at all - if do_routing() returns negative. Again, in request route, test the return code for do_routing() - it will return a negative code if no destination is available for routing.

Regards,
Bogdan-Andrei Iancu
  OpenSIPS Founder and Developer
  http://www.opensips-solutions.com

OpenSIPS Summit May 2017 Amsterdam
  http://www.opensips.org/events/Summit-2017Amsterdam.html
On 03/20/2017 02:28 PM, Denis wrote:
Hello, Bogdan!
 
Yes, i know about that.
In failure_route i have
if (($DLG_status == 1) && t_check_status("408"))
action. And it works if i have multiple direction (using alternative mode) for the prefix.
But when i use only one direction for the prefix i have the problem described below.
 
Thank you.
 
-- 
С уважением, Денис.
Best regards, Denis
 
 
 
20.03.2017, 15:24, "Bogdan-Andrei Iancu" [hidden email]:
Hi Denis,

I suspect a scripting error on your side. If all the destinations are disabled, the do_routing() returns a negative code into the script - you need to handle this case and send back whatever negative reply you want. The Drouting modules does not do any SIP signalling for you.

Best regards,
Bogdan-Andrei Iancu
  OpenSIPS Founder and Developer
  http://www.opensips-solutions.com

OpenSIPS Summit May 2017 Amsterdam
  http://www.opensips.org/events/Summit-2017Amsterdam.html
On 03/17/2017 07:50 AM, Denis via Users wrote:
Hello!
 
According to drouting module documentation i am trying to introduce a probing feature to control destination SIP UA access.
Almost everything works correct, besides one thing.
If i have only one destination, which became inaccessible, Opensips "freezes" a call, i.e. it sends 100 trying (script logging) and after does not sent any code (i expected, that Opensips will sent 408 code in such situation after fr_timeout triggering).
Inaccessible destination has "probing" status and i see OPTIONS sent by Opensis to destination.
 
Server:: OpenSIPS (2.2.3 (x86_64/linux))
 
Thank you for any help.
 
-- 
С уважением, Денис.
Best regards, Denis
 
 
 
 
_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users
 
_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users

_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Opensips drouting probing

Bogdan-Andrei Iancu-2
Do you do an "drop" or "exit" in that routeid ??
Bogdan-Andrei Iancu
  OpenSIPS Founder and Developer
  http://www.opensips-solutions.com

OpenSIPS Summit May 2017 Amsterdam
  http://www.opensips.org/events/Summit-2017Amsterdam.html
On 04/04/2017 03:16 PM, Denis wrote:
Bogdan,
 
Ok, dr_rules has filled 'routeid' column.
In routeid i, using dialplan, verify dialed prefix for some reason. If dialed prefix verified i make some action, if not, returns to the parent route.
In my example, dialed prefix does not verified.
 
So, route with do_routing
951: xlog ("Prepare routing");
952: if (!do_routing("$avp(5)",,,"$avp(300)","$avp(3)",)) {  
953: send_reply("404", "Not found");
954: exit;
955: }
route [routeid] {   
1848: if (dp_translate("20004", "$rU/$rU", "$avp(999)")) {

  ........
} else {
   ......
}  
1867: }
 
The last strings for the call flow in syslog:
 
:951][me][core xlog]
:952][me][module do_routing]
:1867][me][core if]
:1848][me][module dp_translate]
<a class="moz-txt-link-freetext" href="INFO:drouting:do_routing">INFO:drouting:do_routing: All the gateways are disabled
 
That is all. After that only my CANCEL from the caller, because there is no provisioning message after 100 Trying from Opensips.
 
-- 
С уважением, Денис.
Best regards, Denis
 
 
 
04.04.2017, 14:14, "Bogdan-Andrei Iancu" [hidden email]:
Hi Denis,

Again, as drouting is not doing any signalling action, it CANNOT block/freeze your OpenSIPS.

Use script_trace() function to see how your INVITE is handled :
    http://www.opensips.org/Documentation/Script-CoreFunctions-2-2#toc43

Regards,
Bogdan-Andrei Iancu
  OpenSIPS Founder and Developer
  http://www.opensips-solutions.com

OpenSIPS Summit May 2017 Amsterdam
  http://www.opensips.org/events/Summit-2017Amsterdam.html
On 03/28/2017 04:46 PM, Denis via Users wrote:
In additional,
a part of the opensips.cfg
 
xlog ("Prepare routing");
if (!do_routing("$avp(5)","W",,"$avp(300)","$avp(3)",)) {
        send_reply("404", "Not found");
         exit;
}
 
a part of the log
 
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: Prepare routing
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:drouting:do_routing_1: using weights in GW selection
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:drouting:do_routing: using dr group 2, rule_idx 0, username 88123364021
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:drouting:internal_check_rt: found rgid 2 (rule list 0x7f77f0f63188)
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialplan:dp_translate_f: dpid is 20004 partition is default
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialplan:dp_get_svalue: searching 15
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialplan:dp_translate_f: input is 88123364021
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialplan:dp_translate_f: Checking with dpid 20004
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialplan:translate: Regex operator testing. Got result: -1
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialplan:translate: No matching rule for input 88123364021
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialplan:dp_translate_f: could not translate 88123364021 with dpid 20004
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: <a class="moz-txt-link-freetext" href="INFO:drouting:do_routing">INFO:drouting:do_routing: All the gateways are disabled
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialog:next_state_dlg: unref dlg 0x7f77f3c8bc70 with 1 -> 2 in entry 0x7f77ef003548
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:core:evi_param_set: adding string param
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:core:evi_param_set: adding string param
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:core:evi_param_set: adding int param
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:core:evi_param_set: adding int param
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:core:destroy_avp_list: destroying list (nil)
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialog:next_state_dlg: dialog 0x7f77f3c8bc70 changed from state 1 to state 5, due event 1
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialog:dlg_onreply: dialog 0x7f77f3c8bc70 failed (negative reply)
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialog:unref_dlg: unref dlg 0x7f77f3c8bc70 with 1 -> 1 in entry 0x7f77ef003548
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialog:unref_dlg: unref dlg 0x7f77f3c8bc70 with 1 -> 0 in entry 0x7f77ef003548
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialog:unref_dlg: ref <=0 for dialog 0x7f77f3c8bc70
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialog:destroy_dlg: destroying dialog 0x7f77f3c8bc70
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialog:destroy_dlg: dlg expired or not in list - dlg 0x7f77f3c8bc70 [1301:1538288757] with clid '84253MzdiNGJmNzcwYjI1OTE2NmE2ZDUyNGJmZWJiYWQ3NTM' and tags '2c479443' 'NULL'
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:core:destroy_avp_list: destroying list 0x7f77f3c8ed08
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:core:receive_msg: cleaning up
 
-- 
С уважением, Денис.
Best regards, Denis
 
 
 
 
 
28.03.2017, 13:00, "Denis" <[hidden email]>:
Hello, Bogdan!
 
Is there any idea about problem?
 
Thank you.
 
-- 
С уважением, Денис.
Best regards, Denis
 
 
 
 
 
24.03.2017, 07:52, "Denis" <[hidden email]>:
Hello!
 
It does not work.
Opensips "freezes" a call.
 
 
-- 
С уважением, Денис.
Best regards, Denis
 
 
 
23.03.2017, 18:42, "Bogdan-Andrei Iancu" <[hidden email]>:
Hi,

You should do :
    if (!do_routing(.......) ) {
        send_reply("404","No Route");
        exit;
    }

Regards,
Bogdan-Andrei Iancu
  OpenSIPS Founder and Developer
  http://www.opensips-solutions.com

OpenSIPS Summit May 2017 Amsterdam
  http://www.opensips.org/events/Summit-2017Amsterdam.html
On 03/23/2017 04:21 PM, Denis wrote:
Hello, Bogdan!
 
"test the return code for do_routing()".
How can i do that?
 
I tried
if (!do_routing("$avp(5)","W",,"$avp(300)","$avp(3)",)) {
 xlog ("Route4: Reason = $rc");
}
 
Thank you.
 
-- 
С уважением, Денис.
Best regards, Denis
 
 
 
20.03.2017, 17:20, "Bogdan-Andrei Iancu" [hidden email]:
Failure route does not help you if your routing does not start at all - if do_routing() returns negative. Again, in request route, test the return code for do_routing() - it will return a negative code if no destination is available for routing.

Regards,
Bogdan-Andrei Iancu
  OpenSIPS Founder and Developer
  http://www.opensips-solutions.com

OpenSIPS Summit May 2017 Amsterdam
  http://www.opensips.org/events/Summit-2017Amsterdam.html
On 03/20/2017 02:28 PM, Denis wrote:
Hello, Bogdan!
 
Yes, i know about that.
In failure_route i have
if (($DLG_status == 1) && t_check_status("408"))
action. And it works if i have multiple direction (using alternative mode) for the prefix.
But when i use only one direction for the prefix i have the problem described below.
 
Thank you.
 
-- 
С уважением, Денис.
Best regards, Denis
 
 
 
20.03.2017, 15:24, "Bogdan-Andrei Iancu" [hidden email]:
Hi Denis,

I suspect a scripting error on your side. If all the destinations are disabled, the do_routing() returns a negative code into the script - you need to handle this case and send back whatever negative reply you want. The Drouting modules does not do any SIP signalling for you.

Best regards,
Bogdan-Andrei Iancu
  OpenSIPS Founder and Developer
  http://www.opensips-solutions.com

OpenSIPS Summit May 2017 Amsterdam
  http://www.opensips.org/events/Summit-2017Amsterdam.html
On 03/17/2017 07:50 AM, Denis via Users wrote:
Hello!
 
According to drouting module documentation i am trying to introduce a probing feature to control destination SIP UA access.
Almost everything works correct, besides one thing.
If i have only one destination, which became inaccessible, Opensips "freezes" a call, i.e. it sends 100 trying (script logging) and after does not sent any code (i expected, that Opensips will sent 408 code in such situation after fr_timeout triggering).
Inaccessible destination has "probing" status and i see OPTIONS sent by Opensis to destination.
 
Server:: OpenSIPS (2.2.3 (x86_64/linux))
 
Thank you for any help.
 
-- 
С уважением, Денис.
Best regards, Denis
 
 
 
 
_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users
 
_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users


_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Opensips drouting probing

OpenSIPS - Users mailing list
No, i don`t
 
-- 
С уважением, Денис.
Best regards, Denis
 
 
 
04.04.2017, 16:22, "Bogdan-Andrei Iancu" <[hidden email]>:
Do you do an "drop" or "exit" in that routeid ??
Bogdan-Andrei Iancu
  OpenSIPS Founder and Developer
  http://www.opensips-solutions.com

OpenSIPS Summit May 2017 Amsterdam
  http://www.opensips.org/events/Summit-2017Amsterdam.html
On 04/04/2017 03:16 PM, Denis wrote:
Bogdan,
 
Ok, dr_rules has filled 'routeid' column.
In routeid i, using dialplan, verify dialed prefix for some reason. If dialed prefix verified i make some action, if not, returns to the parent route.
In my example, dialed prefix does not verified.
 
So, route with do_routing
951: xlog ("Prepare routing");
952: if (!do_routing("$avp(5)",,,"$avp(300)","$avp(3)",)) {  
953: send_reply("404", "Not found");
954: exit;
955: }
route [routeid] {   
1848: if (dp_translate("20004", "$rU/$rU", "$avp(999)")) {

  ........
} else {
   ......
}  
1867: }
 
The last strings for the call flow in syslog:
 
:951][me][core xlog]
:952][me][module do_routing]
:1867][me][core if]
:1848][me][module dp_translate]
INFO:drouting:do_routing: All the gateways are disabled
 
That is all. After that only my CANCEL from the caller, because there is no provisioning message after 100 Trying from Opensips.
 
-- 
С уважением, Денис.
Best regards, Denis
 
 
 
04.04.2017, 14:14, "Bogdan-Andrei Iancu" [hidden email]:
Hi Denis,

Again, as drouting is not doing any signalling action, it CANNOT block/freeze your OpenSIPS.

Use script_trace() function to see how your INVITE is handled :
    http://www.opensips.org/Documentation/Script-CoreFunctions-2-2#toc43

Regards,
Bogdan-Andrei Iancu
  OpenSIPS Founder and Developer
  http://www.opensips-solutions.com

OpenSIPS Summit May 2017 Amsterdam
  http://www.opensips.org/events/Summit-2017Amsterdam.html
On 03/28/2017 04:46 PM, Denis via Users wrote:
In additional,
a part of the opensips.cfg
 
xlog ("Prepare routing");
if (!do_routing("$avp(5)","W",,"$avp(300)","$avp(3)",)) {
        send_reply("404", "Not found");
         exit;
}
 
a part of the log
 
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: Prepare routing
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:drouting:do_routing_1: using weights in GW selection
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:drouting:do_routing: using dr group 2, rule_idx 0, username 88123364021
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:drouting:internal_check_rt: found rgid 2 (rule list 0x7f77f0f63188)
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialplan:dp_translate_f: dpid is 20004 partition is default
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialplan:dp_get_svalue: searching 15
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialplan:dp_translate_f: input is 88123364021
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialplan:dp_translate_f: Checking with dpid 20004
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialplan:translate: Regex operator testing. Got result: -1
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialplan:translate: No matching rule for input 88123364021
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialplan:dp_translate_f: could not translate 88123364021 with dpid 20004
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: INFO:drouting:do_routing: All the gateways are disabled
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialog:next_state_dlg: unref dlg 0x7f77f3c8bc70 with 1 -> 2 in entry 0x7f77ef003548
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:core:evi_param_set: adding string param
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:core:evi_param_set: adding string param
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:core:evi_param_set: adding int param
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:core:evi_param_set: adding int param
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:core:destroy_avp_list: destroying list (nil)
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialog:next_state_dlg: dialog 0x7f77f3c8bc70 changed from state 1 to state 5, due event 1
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialog:dlg_onreply: dialog 0x7f77f3c8bc70 failed (negative reply)
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialog:unref_dlg: unref dlg 0x7f77f3c8bc70 with 1 -> 1 in entry 0x7f77ef003548
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialog:unref_dlg: unref dlg 0x7f77f3c8bc70 with 1 -> 0 in entry 0x7f77ef003548
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialog:unref_dlg: ref <=0 for dialog 0x7f77f3c8bc70
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialog:destroy_dlg: destroying dialog 0x7f77f3c8bc70
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialog:destroy_dlg: dlg expired or not in list - dlg 0x7f77f3c8bc70 [1301:1538288757] with clid '84253MzdiNGJmNzcwYjI1OTE2NmE2ZDUyNGJmZWJiYWQ3NTM' and tags '2c479443' 'NULL'
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:core:destroy_avp_list: destroying list 0x7f77f3c8ed08
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:core:receive_msg: cleaning up
 
-- 
С уважением, Денис.
Best regards, Denis
 
 
 
 
 
28.03.2017, 13:00, "Denis" <[hidden email]>:
Hello, Bogdan!
 
Is there any idea about problem?
 
Thank you.
 
-- 
С уважением, Денис.
Best regards, Denis
 
 
 
 
 
24.03.2017, 07:52, "Denis" <[hidden email]>:
Hello!
 
It does not work.
Opensips "freezes" a call.
 
 
-- 
С уважением, Денис.
Best regards, Denis
 
 
 
23.03.2017, 18:42, "Bogdan-Andrei Iancu" <[hidden email]>:
Hi,

You should do :
    if (!do_routing(.......) ) {
        send_reply("404","No Route");
        exit;
    }

Regards,
Bogdan-Andrei Iancu
  OpenSIPS Founder and Developer
  http://www.opensips-solutions.com

OpenSIPS Summit May 2017 Amsterdam
  http://www.opensips.org/events/Summit-2017Amsterdam.html
On 03/23/2017 04:21 PM, Denis wrote:
Hello, Bogdan!
 
"test the return code for do_routing()".
How can i do that?
 
I tried
if (!do_routing("$avp(5)","W",,"$avp(300)","$avp(3)",)) {
 xlog ("Route4: Reason = $rc");
}
 
Thank you.
 
-- 
С уважением, Денис.
Best regards, Denis
 
 
 
20.03.2017, 17:20, "Bogdan-Andrei Iancu" [hidden email]:
Failure route does not help you if your routing does not start at all - if do_routing() returns negative. Again, in request route, test the return code for do_routing() - it will return a negative code if no destination is available for routing.

Regards,
Bogdan-Andrei Iancu
  OpenSIPS Founder and Developer
  http://www.opensips-solutions.com

OpenSIPS Summit May 2017 Amsterdam
  http://www.opensips.org/events/Summit-2017Amsterdam.html
On 03/20/2017 02:28 PM, Denis wrote:
Hello, Bogdan!
 
Yes, i know about that.
In failure_route i have
if (($DLG_status == 1) && t_check_status("408"))
action. And it works if i have multiple direction (using alternative mode) for the prefix.
But when i use only one direction for the prefix i have the problem described below.
 
Thank you.
 
-- 
С уважением, Денис.
Best regards, Denis
 
 
 
20.03.2017, 15:24, "Bogdan-Andrei Iancu" [hidden email]:
Hi Denis,

I suspect a scripting error on your side. If all the destinations are disabled, the do_routing() returns a negative code into the script - you need to handle this case and send back whatever negative reply you want. The Drouting modules does not do any SIP signalling for you.

Best regards,
Bogdan-Andrei Iancu
  OpenSIPS Founder and Developer
  http://www.opensips-solutions.com

OpenSIPS Summit May 2017 Amsterdam
  http://www.opensips.org/events/Summit-2017Amsterdam.html
On 03/17/2017 07:50 AM, Denis via Users wrote:
Hello!
 
According to drouting module documentation i am trying to introduce a probing feature to control destination SIP UA access.
Almost everything works correct, besides one thing.
If i have only one destination, which became inaccessible, Opensips "freezes" a call, i.e. it sends 100 trying (script logging) and after does not sent any code (i expected, that Opensips will sent 408 code in such situation after fr_timeout triggering).
Inaccessible destination has "probing" status and i see OPTIONS sent by Opensis to destination.
 
Server:: OpenSIPS (2.2.3 (x86_64/linux))
 
Thank you for any help.
 
-- 
С уважением, Денис.
Best regards, Denis
 
 
 
 
_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users
 
_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users

_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Opensips drouting probing

Bogdan-Andrei Iancu-2
And if you remove the routeid (in the rule definition), does the routing works ok ?

Regards,
Bogdan-Andrei Iancu
  OpenSIPS Founder and Developer
  http://www.opensips-solutions.com

OpenSIPS Summit May 2017 Amsterdam
  http://www.opensips.org/events/Summit-2017Amsterdam.html
On 04/04/2017 05:56 PM, Denis wrote:
No, i don`t
 
-- 
С уважением, Денис.
Best regards, Denis
 
 
 
04.04.2017, 16:22, "Bogdan-Andrei Iancu" [hidden email]:
Do you do an "drop" or "exit" in that routeid ??
Bogdan-Andrei Iancu
  OpenSIPS Founder and Developer
  http://www.opensips-solutions.com

OpenSIPS Summit May 2017 Amsterdam
  http://www.opensips.org/events/Summit-2017Amsterdam.html
On 04/04/2017 03:16 PM, Denis wrote:
Bogdan,
 
Ok, dr_rules has filled 'routeid' column.
In routeid i, using dialplan, verify dialed prefix for some reason. If dialed prefix verified i make some action, if not, returns to the parent route.
In my example, dialed prefix does not verified.
 
So, route with do_routing
951: xlog ("Prepare routing");
952: if (!do_routing("$avp(5)",,,"$avp(300)","$avp(3)",)) {  
953: send_reply("404", "Not found");
954: exit;
955: }
route [routeid] {   
1848: if (dp_translate("20004", "$rU/$rU", "$avp(999)")) {

  ........
} else {
   ......
}  
1867: }
 
The last strings for the call flow in syslog:
 
:951][me][core xlog]
:952][me][module do_routing]
:1867][me][core if]
:1848][me][module dp_translate]
INFO:drouting:do_routing: All the gateways are disabled
 
That is all. After that only my CANCEL from the caller, because there is no provisioning message after 100 Trying from Opensips.
 
-- 
С уважением, Денис.
Best regards, Denis
 
 
 
04.04.2017, 14:14, "Bogdan-Andrei Iancu" [hidden email]:
Hi Denis,

Again, as drouting is not doing any signalling action, it CANNOT block/freeze your OpenSIPS.

Use script_trace() function to see how your INVITE is handled :
    http://www.opensips.org/Documentation/Script-CoreFunctions-2-2#toc43

Regards,
Bogdan-Andrei Iancu
  OpenSIPS Founder and Developer
  http://www.opensips-solutions.com

OpenSIPS Summit May 2017 Amsterdam
  http://www.opensips.org/events/Summit-2017Amsterdam.html
On 03/28/2017 04:46 PM, Denis via Users wrote:
In additional,
a part of the opensips.cfg
 
xlog ("Prepare routing");
if (!do_routing("$avp(5)","W",,"$avp(300)","$avp(3)",)) {
        send_reply("404", "Not found");
         exit;
}
 
a part of the log
 
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: Prepare routing
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:drouting:do_routing_1: using weights in GW selection
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:drouting:do_routing: using dr group 2, rule_idx 0, username 88123364021
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:drouting:internal_check_rt: found rgid 2 (rule list 0x7f77f0f63188)
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialplan:dp_translate_f: dpid is 20004 partition is default
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialplan:dp_get_svalue: searching 15
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialplan:dp_translate_f: input is 88123364021
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialplan:dp_translate_f: Checking with dpid 20004
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialplan:translate: Regex operator testing. Got result: -1
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialplan:translate: No matching rule for input 88123364021
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialplan:dp_translate_f: could not translate 88123364021 with dpid 20004
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: <a class="moz-txt-link-freetext" href="INFO:drouting:do_routing">INFO:drouting:do_routing: All the gateways are disabled
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialog:next_state_dlg: unref dlg 0x7f77f3c8bc70 with 1 -> 2 in entry 0x7f77ef003548
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:core:evi_param_set: adding string param
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:core:evi_param_set: adding string param
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:core:evi_param_set: adding int param
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:core:evi_param_set: adding int param
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:core:destroy_avp_list: destroying list (nil)
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialog:next_state_dlg: dialog 0x7f77f3c8bc70 changed from state 1 to state 5, due event 1
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialog:dlg_onreply: dialog 0x7f77f3c8bc70 failed (negative reply)
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialog:unref_dlg: unref dlg 0x7f77f3c8bc70 with 1 -> 1 in entry 0x7f77ef003548
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialog:unref_dlg: unref dlg 0x7f77f3c8bc70 with 1 -> 0 in entry 0x7f77ef003548
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialog:unref_dlg: ref <=0 for dialog 0x7f77f3c8bc70
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialog:destroy_dlg: destroying dialog 0x7f77f3c8bc70
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialog:destroy_dlg: dlg expired or not in list - dlg 0x7f77f3c8bc70 [1301:1538288757] with clid '84253MzdiNGJmNzcwYjI1OTE2NmE2ZDUyNGJmZWJiYWQ3NTM' and tags '2c479443' 'NULL'
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:core:destroy_avp_list: destroying list 0x7f77f3c8ed08
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:core:receive_msg: cleaning up
 
-- 
С уважением, Денис.
Best regards, Denis
 
 
 
 
 
28.03.2017, 13:00, "Denis" <[hidden email]>:
Hello, Bogdan!
 
Is there any idea about problem?
 
Thank you.
 
-- 
С уважением, Денис.
Best regards, Denis
 
 
 
 
 
24.03.2017, 07:52, "Denis" <[hidden email]>:
Hello!
 
It does not work.
Opensips "freezes" a call.
 
 
-- 
С уважением, Денис.
Best regards, Denis
 
 
 
23.03.2017, 18:42, "Bogdan-Andrei Iancu" <[hidden email]>:
Hi,

You should do :
    if (!do_routing(.......) ) {
        send_reply("404","No Route");
        exit;
    }

Regards,
Bogdan-Andrei Iancu
  OpenSIPS Founder and Developer
  http://www.opensips-solutions.com

OpenSIPS Summit May 2017 Amsterdam
  http://www.opensips.org/events/Summit-2017Amsterdam.html
On 03/23/2017 04:21 PM, Denis wrote:
Hello, Bogdan!
 
"test the return code for do_routing()".
How can i do that?
 
I tried
if (!do_routing("$avp(5)","W",,"$avp(300)","$avp(3)",)) {
 xlog ("Route4: Reason = $rc");
}
 
Thank you.
 
-- 
С уважением, Денис.
Best regards, Denis
 
 
 
20.03.2017, 17:20, "Bogdan-Andrei Iancu" [hidden email]:
Failure route does not help you if your routing does not start at all - if do_routing() returns negative. Again, in request route, test the return code for do_routing() - it will return a negative code if no destination is available for routing.

Regards,
Bogdan-Andrei Iancu
  OpenSIPS Founder and Developer
  http://www.opensips-solutions.com

OpenSIPS Summit May 2017 Amsterdam
  http://www.opensips.org/events/Summit-2017Amsterdam.html
On 03/20/2017 02:28 PM, Denis wrote:
Hello, Bogdan!
 
Yes, i know about that.
In failure_route i have
if (($DLG_status == 1) && t_check_status("408"))
action. And it works if i have multiple direction (using alternative mode) for the prefix.
But when i use only one direction for the prefix i have the problem described below.
 
Thank you.
 
-- 
С уважением, Денис.
Best regards, Denis
 
 
 
20.03.2017, 15:24, "Bogdan-Andrei Iancu" [hidden email]:
Hi Denis,

I suspect a scripting error on your side. If all the destinations are disabled, the do_routing() returns a negative code into the script - you need to handle this case and send back whatever negative reply you want. The Drouting modules does not do any SIP signalling for you.

Best regards,
Bogdan-Andrei Iancu
  OpenSIPS Founder and Developer
  http://www.opensips-solutions.com

OpenSIPS Summit May 2017 Amsterdam
  http://www.opensips.org/events/Summit-2017Amsterdam.html
On 03/17/2017 07:50 AM, Denis via Users wrote:
Hello!
 
According to drouting module documentation i am trying to introduce a probing feature to control destination SIP UA access.
Almost everything works correct, besides one thing.
If i have only one destination, which became inaccessible, Opensips "freezes" a call, i.e. it sends 100 trying (script logging) and after does not sent any code (i expected, that Opensips will sent 408 code in such situation after fr_timeout triggering).
Inaccessible destination has "probing" status and i see OPTIONS sent by Opensis to destination.
 
Server:: OpenSIPS (2.2.3 (x86_64/linux))
 
Thank you for any help.
 
-- 
С уважением, Денис.
Best regards, Denis
 
 
 
 
_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users
 
_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users


_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Opensips drouting probing

OpenSIPS - Users mailing list
I will check it and tell the result
 
-- 
С уважением, Денис.
Best regards, Denis
 
 
 
04.04.2017, 17:59, "Bogdan-Andrei Iancu" <[hidden email]>:
And if you remove the routeid (in the rule definition), does the routing works ok ?

Regards,
Bogdan-Andrei Iancu
  OpenSIPS Founder and Developer
  http://www.opensips-solutions.com

OpenSIPS Summit May 2017 Amsterdam
  http://www.opensips.org/events/Summit-2017Amsterdam.html
On 04/04/2017 05:56 PM, Denis wrote:
No, i don`t
 
-- 
С уважением, Денис.
Best regards, Denis
 
 
 
04.04.2017, 16:22, "Bogdan-Andrei Iancu" [hidden email]:
Do you do an "drop" or "exit" in that routeid ??
Bogdan-Andrei Iancu
  OpenSIPS Founder and Developer
  http://www.opensips-solutions.com

OpenSIPS Summit May 2017 Amsterdam
  http://www.opensips.org/events/Summit-2017Amsterdam.html
On 04/04/2017 03:16 PM, Denis wrote:
Bogdan,
 
Ok, dr_rules has filled 'routeid' column.
In routeid i, using dialplan, verify dialed prefix for some reason. If dialed prefix verified i make some action, if not, returns to the parent route.
In my example, dialed prefix does not verified.
 
So, route with do_routing
951: xlog ("Prepare routing");
952: if (!do_routing("$avp(5)",,,"$avp(300)","$avp(3)",)) {  
953: send_reply("404", "Not found");
954: exit;
955: }
route [routeid] {   
1848: if (dp_translate("20004", "$rU/$rU", "$avp(999)")) {

  ........
} else {
   ......
}  
1867: }
 
The last strings for the call flow in syslog:
 
:951][me][core xlog]
:952][me][module do_routing]
:1867][me][core if]
:1848][me][module dp_translate]
INFO:drouting:do_routing: All the gateways are disabled
 
That is all. After that only my CANCEL from the caller, because there is no provisioning message after 100 Trying from Opensips.
 
-- 
С уважением, Денис.
Best regards, Denis
 
 
 
04.04.2017, 14:14, "Bogdan-Andrei Iancu" [hidden email]:
Hi Denis,

Again, as drouting is not doing any signalling action, it CANNOT block/freeze your OpenSIPS.

Use script_trace() function to see how your INVITE is handled :
    http://www.opensips.org/Documentation/Script-CoreFunctions-2-2#toc43

Regards,
Bogdan-Andrei Iancu
  OpenSIPS Founder and Developer
  http://www.opensips-solutions.com

OpenSIPS Summit May 2017 Amsterdam
  http://www.opensips.org/events/Summit-2017Amsterdam.html
On 03/28/2017 04:46 PM, Denis via Users wrote:
In additional,
a part of the opensips.cfg
 
xlog ("Prepare routing");
if (!do_routing("$avp(5)","W",,"$avp(300)","$avp(3)",)) {
        send_reply("404", "Not found");
         exit;
}
 
a part of the log
 
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: Prepare routing
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:drouting:do_routing_1: using weights in GW selection
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:drouting:do_routing: using dr group 2, rule_idx 0, username 88123364021
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:drouting:internal_check_rt: found rgid 2 (rule list 0x7f77f0f63188)
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialplan:dp_translate_f: dpid is 20004 partition is default
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialplan:dp_get_svalue: searching 15
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialplan:dp_translate_f: input is 88123364021
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialplan:dp_translate_f: Checking with dpid 20004
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialplan:translate: Regex operator testing. Got result: -1
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialplan:translate: No matching rule for input 88123364021
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialplan:dp_translate_f: could not translate 88123364021 with dpid 20004
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: INFO:drouting:do_routing: All the gateways are disabled
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialog:next_state_dlg: unref dlg 0x7f77f3c8bc70 with 1 -> 2 in entry 0x7f77ef003548
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:core:evi_param_set: adding string param
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:core:evi_param_set: adding string param
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:core:evi_param_set: adding int param
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:core:evi_param_set: adding int param
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:core:destroy_avp_list: destroying list (nil)
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialog:next_state_dlg: dialog 0x7f77f3c8bc70 changed from state 1 to state 5, due event 1
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialog:dlg_onreply: dialog 0x7f77f3c8bc70 failed (negative reply)
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialog:unref_dlg: unref dlg 0x7f77f3c8bc70 with 1 -> 1 in entry 0x7f77ef003548
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialog:unref_dlg: unref dlg 0x7f77f3c8bc70 with 1 -> 0 in entry 0x7f77ef003548
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialog:unref_dlg: ref <=0 for dialog 0x7f77f3c8bc70
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialog:destroy_dlg: destroying dialog 0x7f77f3c8bc70
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialog:destroy_dlg: dlg expired or not in list - dlg 0x7f77f3c8bc70 [1301:1538288757] with clid '84253MzdiNGJmNzcwYjI1OTE2NmE2ZDUyNGJmZWJiYWQ3NTM' and tags '2c479443' 'NULL'
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:core:destroy_avp_list: destroying list 0x7f77f3c8ed08
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:core:receive_msg: cleaning up
 
-- 
С уважением, Денис.
Best regards, Denis
 
 
 
 
 
28.03.2017, 13:00, "Denis" <[hidden email]>:
Hello, Bogdan!
 
Is there any idea about problem?
 
Thank you.
 
-- 
С уважением, Денис.
Best regards, Denis
 
 
 
 
 
24.03.2017, 07:52, "Denis" <[hidden email]>:
Hello!
 
It does not work.
Opensips "freezes" a call.
 
 
-- 
С уважением, Денис.
Best regards, Denis
 
 
 
23.03.2017, 18:42, "Bogdan-Andrei Iancu" <[hidden email]>:
Hi,

You should do :
    if (!do_routing(.......) ) {
        send_reply("404","No Route");
        exit;
    }

Regards,
Bogdan-Andrei Iancu
  OpenSIPS Founder and Developer
  http://www.opensips-solutions.com

OpenSIPS Summit May 2017 Amsterdam
  http://www.opensips.org/events/Summit-2017Amsterdam.html
On 03/23/2017 04:21 PM, Denis wrote:
Hello, Bogdan!
 
"test the return code for do_routing()".
How can i do that?
 
I tried
if (!do_routing("$avp(5)","W",,"$avp(300)","$avp(3)",)) {
 xlog ("Route4: Reason = $rc");
}
 
Thank you.
 
-- 
С уважением, Денис.
Best regards, Denis
 
 
 
20.03.2017, 17:20, "Bogdan-Andrei Iancu" [hidden email]:
Failure route does not help you if your routing does not start at all - if do_routing() returns negative. Again, in request route, test the return code for do_routing() - it will return a negative code if no destination is available for routing.

Regards,
Bogdan-Andrei Iancu
  OpenSIPS Founder and Developer
  http://www.opensips-solutions.com

OpenSIPS Summit May 2017 Amsterdam
  http://www.opensips.org/events/Summit-2017Amsterdam.html
On 03/20/2017 02:28 PM, Denis wrote:
Hello, Bogdan!
 
Yes, i know about that.
In failure_route i have
if (($DLG_status == 1) && t_check_status("408"))
action. And it works if i have multiple direction (using alternative mode) for the prefix.
But when i use only one direction for the prefix i have the problem described below.
 
Thank you.
 
-- 
С уважением, Денис.
Best regards, Denis
 
 
 
20.03.2017, 15:24, "Bogdan-Andrei Iancu" [hidden email]:
Hi Denis,

I suspect a scripting error on your side. If all the destinations are disabled, the do_routing() returns a negative code into the script - you need to handle this case and send back whatever negative reply you want. The Drouting modules does not do any SIP signalling for you.

Best regards,
Bogdan-Andrei Iancu
  OpenSIPS Founder and Developer
  http://www.opensips-solutions.com

OpenSIPS Summit May 2017 Amsterdam
  http://www.opensips.org/events/Summit-2017Amsterdam.html
On 03/17/2017 07:50 AM, Denis via Users wrote:
Hello!
 
According to drouting module documentation i am trying to introduce a probing feature to control destination SIP UA access.
Almost everything works correct, besides one thing.
If i have only one destination, which became inaccessible, Opensips "freezes" a call, i.e. it sends 100 trying (script logging) and after does not sent any code (i expected, that Opensips will sent 408 code in such situation after fr_timeout triggering).
Inaccessible destination has "probing" status and i see OPTIONS sent by Opensis to destination.
 
Server:: OpenSIPS (2.2.3 (x86_64/linux))
 
Thank you for any help.
 
-- 
С уважением, Денис.
Best regards, Denis
 
 
 
 
_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users
 
_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users

_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Opensips drouting probing

OpenSIPS - Users mailing list
In reply to this post by Bogdan-Andrei Iancu-2
Yes, without routeid Opensips returns 404 code!
 
-- 
С уважением, Денис.
Best regards, Denis
 
 
 
04.04.2017, 17:59, "Bogdan-Andrei Iancu" <[hidden email]>:
And if you remove the routeid (in the rule definition), does the routing works ok ?

Regards,
Bogdan-Andrei Iancu
  OpenSIPS Founder and Developer
  http://www.opensips-solutions.com

OpenSIPS Summit May 2017 Amsterdam
  http://www.opensips.org/events/Summit-2017Amsterdam.html
On 04/04/2017 05:56 PM, Denis wrote:
No, i don`t
 
-- 
С уважением, Денис.
Best regards, Denis
 
 
 
04.04.2017, 16:22, "Bogdan-Andrei Iancu" [hidden email]:
Do you do an "drop" or "exit" in that routeid ??
Bogdan-Andrei Iancu
  OpenSIPS Founder and Developer
  http://www.opensips-solutions.com

OpenSIPS Summit May 2017 Amsterdam
  http://www.opensips.org/events/Summit-2017Amsterdam.html
On 04/04/2017 03:16 PM, Denis wrote:
Bogdan,
 
Ok, dr_rules has filled 'routeid' column.
In routeid i, using dialplan, verify dialed prefix for some reason. If dialed prefix verified i make some action, if not, returns to the parent route.
In my example, dialed prefix does not verified.
 
So, route with do_routing
951: xlog ("Prepare routing");
952: if (!do_routing("$avp(5)",,,"$avp(300)","$avp(3)",)) {  
953: send_reply("404", "Not found");
954: exit;
955: }
route [routeid] {   
1848: if (dp_translate("20004", "$rU/$rU", "$avp(999)")) {

  ........
} else {
   ......
}  
1867: }
 
The last strings for the call flow in syslog:
 
:951][me][core xlog]
:952][me][module do_routing]
:1867][me][core if]
:1848][me][module dp_translate]
INFO:drouting:do_routing: All the gateways are disabled
 
That is all. After that only my CANCEL from the caller, because there is no provisioning message after 100 Trying from Opensips.
 
-- 
С уважением, Денис.
Best regards, Denis
 
 
 
04.04.2017, 14:14, "Bogdan-Andrei Iancu" [hidden email]:
Hi Denis,

Again, as drouting is not doing any signalling action, it CANNOT block/freeze your OpenSIPS.

Use script_trace() function to see how your INVITE is handled :
    http://www.opensips.org/Documentation/Script-CoreFunctions-2-2#toc43

Regards,
Bogdan-Andrei Iancu
  OpenSIPS Founder and Developer
  http://www.opensips-solutions.com

OpenSIPS Summit May 2017 Amsterdam
  http://www.opensips.org/events/Summit-2017Amsterdam.html
On 03/28/2017 04:46 PM, Denis via Users wrote:
In additional,
a part of the opensips.cfg
 
xlog ("Prepare routing");
if (!do_routing("$avp(5)","W",,"$avp(300)","$avp(3)",)) {
        send_reply("404", "Not found");
         exit;
}
 
a part of the log
 
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: Prepare routing
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:drouting:do_routing_1: using weights in GW selection
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:drouting:do_routing: using dr group 2, rule_idx 0, username 88123364021
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:drouting:internal_check_rt: found rgid 2 (rule list 0x7f77f0f63188)
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialplan:dp_translate_f: dpid is 20004 partition is default
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialplan:dp_get_svalue: searching 15
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialplan:dp_translate_f: input is 88123364021
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialplan:dp_translate_f: Checking with dpid 20004
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialplan:translate: Regex operator testing. Got result: -1
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialplan:translate: No matching rule for input 88123364021
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialplan:dp_translate_f: could not translate 88123364021 with dpid 20004
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: INFO:drouting:do_routing: All the gateways are disabled
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialog:next_state_dlg: unref dlg 0x7f77f3c8bc70 with 1 -> 2 in entry 0x7f77ef003548
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:core:evi_param_set: adding string param
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:core:evi_param_set: adding string param
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:core:evi_param_set: adding int param
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:core:evi_param_set: adding int param
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:core:destroy_avp_list: destroying list (nil)
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialog:next_state_dlg: dialog 0x7f77f3c8bc70 changed from state 1 to state 5, due event 1
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialog:dlg_onreply: dialog 0x7f77f3c8bc70 failed (negative reply)
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialog:unref_dlg: unref dlg 0x7f77f3c8bc70 with 1 -> 1 in entry 0x7f77ef003548
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialog:unref_dlg: unref dlg 0x7f77f3c8bc70 with 1 -> 0 in entry 0x7f77ef003548
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialog:unref_dlg: ref <=0 for dialog 0x7f77f3c8bc70
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialog:destroy_dlg: destroying dialog 0x7f77f3c8bc70
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialog:destroy_dlg: dlg expired or not in list - dlg 0x7f77f3c8bc70 [1301:1538288757] with clid '84253MzdiNGJmNzcwYjI1OTE2NmE2ZDUyNGJmZWJiYWQ3NTM' and tags '2c479443' 'NULL'
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:core:destroy_avp_list: destroying list 0x7f77f3c8ed08
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:core:receive_msg: cleaning up
 
-- 
С уважением, Денис.
Best regards, Denis
 
 
 
 
 
28.03.2017, 13:00, "Denis" <[hidden email]>:
Hello, Bogdan!
 
Is there any idea about problem?
 
Thank you.
 
-- 
С уважением, Денис.
Best regards, Denis
 
 
 
 
 
24.03.2017, 07:52, "Denis" <[hidden email]>:
Hello!
 
It does not work.
Opensips "freezes" a call.
 
 
-- 
С уважением, Денис.
Best regards, Denis
 
 
 
23.03.2017, 18:42, "Bogdan-Andrei Iancu" <[hidden email]>:
Hi,

You should do :
    if (!do_routing(.......) ) {
        send_reply("404","No Route");
        exit;
    }

Regards,
Bogdan-Andrei Iancu
  OpenSIPS Founder and Developer
  http://www.opensips-solutions.com

OpenSIPS Summit May 2017 Amsterdam
  http://www.opensips.org/events/Summit-2017Amsterdam.html
On 03/23/2017 04:21 PM, Denis wrote:
Hello, Bogdan!
 
"test the return code for do_routing()".
How can i do that?
 
I tried
if (!do_routing("$avp(5)","W",,"$avp(300)","$avp(3)",)) {
 xlog ("Route4: Reason = $rc");
}
 
Thank you.
 
-- 
С уважением, Денис.
Best regards, Denis
 
 
 
20.03.2017, 17:20, "Bogdan-Andrei Iancu" [hidden email]:
Failure route does not help you if your routing does not start at all - if do_routing() returns negative. Again, in request route, test the return code for do_routing() - it will return a negative code if no destination is available for routing.

Regards,
Bogdan-Andrei Iancu
  OpenSIPS Founder and Developer
  http://www.opensips-solutions.com

OpenSIPS Summit May 2017 Amsterdam
  http://www.opensips.org/events/Summit-2017Amsterdam.html
On 03/20/2017 02:28 PM, Denis wrote:
Hello, Bogdan!
 
Yes, i know about that.
In failure_route i have
if (($DLG_status == 1) && t_check_status("408"))
action. And it works if i have multiple direction (using alternative mode) for the prefix.
But when i use only one direction for the prefix i have the problem described below.
 
Thank you.
 
-- 
С уважением, Денис.
Best regards, Denis
 
 
 
20.03.2017, 15:24, "Bogdan-Andrei Iancu" [hidden email]:
Hi Denis,

I suspect a scripting error on your side. If all the destinations are disabled, the do_routing() returns a negative code into the script - you need to handle this case and send back whatever negative reply you want. The Drouting modules does not do any SIP signalling for you.

Best regards,
Bogdan-Andrei Iancu
  OpenSIPS Founder and Developer
  http://www.opensips-solutions.com

OpenSIPS Summit May 2017 Amsterdam
  http://www.opensips.org/events/Summit-2017Amsterdam.html
On 03/17/2017 07:50 AM, Denis via Users wrote:
Hello!
 
According to drouting module documentation i am trying to introduce a probing feature to control destination SIP UA access.
Almost everything works correct, besides one thing.
If i have only one destination, which became inaccessible, Opensips "freezes" a call, i.e. it sends 100 trying (script logging) and after does not sent any code (i expected, that Opensips will sent 408 code in such situation after fr_timeout triggering).
Inaccessible destination has "probing" status and i see OPTIONS sent by Opensis to destination.
 
Server:: OpenSIPS (2.2.3 (x86_64/linux))
 
Thank you for any help.
 
-- 
С уважением, Денис.
Best regards, Denis
 
 
 
 
_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users
 
_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users

_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Opensips drouting probing

Bogdan-Andrei Iancu-2
Could you send me (off list) the full content of this routeid route ?

Thanks,
Bogdan-Andrei Iancu
  OpenSIPS Founder and Developer
  http://www.opensips-solutions.com

OpenSIPS Summit May 2017 Amsterdam
  http://www.opensips.org/events/Summit-2017Amsterdam.html
On 04/04/2017 06:16 PM, Denis wrote:
Yes, without routeid Opensips returns 404 code!
 
-- 
С уважением, Денис.
Best regards, Denis
 
 
 
04.04.2017, 17:59, "Bogdan-Andrei Iancu" [hidden email]:
And if you remove the routeid (in the rule definition), does the routing works ok ?

Regards,
Bogdan-Andrei Iancu
  OpenSIPS Founder and Developer
  http://www.opensips-solutions.com

OpenSIPS Summit May 2017 Amsterdam
  http://www.opensips.org/events/Summit-2017Amsterdam.html
On 04/04/2017 05:56 PM, Denis wrote:
No, i don`t
 
-- 
С уважением, Денис.
Best regards, Denis
 
 
 
04.04.2017, 16:22, "Bogdan-Andrei Iancu" [hidden email]:
Do you do an "drop" or "exit" in that routeid ??
Bogdan-Andrei Iancu
  OpenSIPS Founder and Developer
  http://www.opensips-solutions.com

OpenSIPS Summit May 2017 Amsterdam
  http://www.opensips.org/events/Summit-2017Amsterdam.html
On 04/04/2017 03:16 PM, Denis wrote:
Bogdan,
 
Ok, dr_rules has filled 'routeid' column.
In routeid i, using dialplan, verify dialed prefix for some reason. If dialed prefix verified i make some action, if not, returns to the parent route.
In my example, dialed prefix does not verified.
 
So, route with do_routing
951: xlog ("Prepare routing");
952: if (!do_routing("$avp(5)",,,"$avp(300)","$avp(3)",)) {  
953: send_reply("404", "Not found");
954: exit;
955: }
route [routeid] {   
1848: if (dp_translate("20004", "$rU/$rU", "$avp(999)")) {

  ........
} else {
   ......
}  
1867: }
 
The last strings for the call flow in syslog:
 
:951][me][core xlog]
:952][me][module do_routing]
:1867][me][core if]
:1848][me][module dp_translate]
INFO:drouting:do_routing: All the gateways are disabled
 
That is all. After that only my CANCEL from the caller, because there is no provisioning message after 100 Trying from Opensips.
 
-- 
С уважением, Денис.
Best regards, Denis
 
 
 
04.04.2017, 14:14, "Bogdan-Andrei Iancu" [hidden email]:
Hi Denis,

Again, as drouting is not doing any signalling action, it CANNOT block/freeze your OpenSIPS.

Use script_trace() function to see how your INVITE is handled :
    http://www.opensips.org/Documentation/Script-CoreFunctions-2-2#toc43

Regards,
Bogdan-Andrei Iancu
  OpenSIPS Founder and Developer
  http://www.opensips-solutions.com

OpenSIPS Summit May 2017 Amsterdam
  http://www.opensips.org/events/Summit-2017Amsterdam.html
On 03/28/2017 04:46 PM, Denis via Users wrote:
In additional,
a part of the opensips.cfg
 
xlog ("Prepare routing");
if (!do_routing("$avp(5)","W",,"$avp(300)","$avp(3)",)) {
        send_reply("404", "Not found");
         exit;
}
 
a part of the log
 
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: Prepare routing
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:drouting:do_routing_1: using weights in GW selection
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:drouting:do_routing: using dr group 2, rule_idx 0, username 88123364021
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:drouting:internal_check_rt: found rgid 2 (rule list 0x7f77f0f63188)
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialplan:dp_translate_f: dpid is 20004 partition is default
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialplan:dp_get_svalue: searching 15
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialplan:dp_translate_f: input is 88123364021
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialplan:dp_translate_f: Checking with dpid 20004
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialplan:translate: Regex operator testing. Got result: -1
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialplan:translate: No matching rule for input 88123364021
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialplan:dp_translate_f: could not translate 88123364021 with dpid 20004
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: INFO:drouting:do_routing: All the gateways are disabled
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialog:next_state_dlg: unref dlg 0x7f77f3c8bc70 with 1 -> 2 in entry 0x7f77ef003548
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:core:evi_param_set: adding string param
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:core:evi_param_set: adding string param
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:core:evi_param_set: adding int param
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:core:evi_param_set: adding int param
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:core:destroy_avp_list: destroying list (nil)
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialog:next_state_dlg: dialog 0x7f77f3c8bc70 changed from state 1 to state 5, due event 1
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialog:dlg_onreply: dialog 0x7f77f3c8bc70 failed (negative reply)
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialog:unref_dlg: unref dlg 0x7f77f3c8bc70 with 1 -> 1 in entry 0x7f77ef003548
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialog:unref_dlg: unref dlg 0x7f77f3c8bc70 with 1 -> 0 in entry 0x7f77ef003548
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialog:unref_dlg: ref <=0 for dialog 0x7f77f3c8bc70
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialog:destroy_dlg: destroying dialog 0x7f77f3c8bc70
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:dialog:destroy_dlg: dlg expired or not in list - dlg 0x7f77f3c8bc70 [1301:1538288757] with clid '84253MzdiNGJmNzcwYjI1OTE2NmE2ZDUyNGJmZWJiYWQ3NTM' and tags '2c479443' 'NULL'
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:core:destroy_avp_list: destroying list 0x7f77f3c8ed08
Mar 28 09:38:28 ubuntu-amd64 /usr/local/opensips2.2/sbin/opensips[7170]: DBG:core:receive_msg: cleaning up
 
-- 
С уважением, Денис.
Best regards, Denis
 
 
 
 
 
28.03.2017, 13:00, "Denis" <[hidden email]>:
Hello, Bogdan!
 
Is there any idea about problem?
 
Thank you.
 
-- 
С уважением, Денис.
Best regards, Denis
 
 
 
 
 
24.03.2017, 07:52, "Denis" <[hidden email]>:
Hello!
 
It does not work.
Opensips "freezes" a call.
 
 
-- 
С уважением, Денис.
Best regards, Denis
 
 
 
23.03.2017, 18:42, "Bogdan-Andrei Iancu" <[hidden email]>:
Hi,

You should do :
    if (!do_routing(.......) ) {
        send_reply("404","No Route");
        exit;
    }

Regards,
Bogdan-Andrei Iancu
  OpenSIPS Founder and Developer
  http://www.opensips-solutions.com

OpenSIPS Summit May 2017 Amsterdam
  http://www.opensips.org/events/Summit-2017Amsterdam.html
On 03/23/2017 04:21 PM, Denis wrote:
Hello, Bogdan!
 
"test the return code for do_routing()".
How can i do that?
 
I tried
if (!do_routing("$avp(5)","W",,"$avp(300)","$avp(3)",)) {
 xlog ("Route4: Reason = $rc");
}
 
Thank you.
 
-- 
С уважением, Денис.
Best regards, Denis
 
 
 
20.03.2017, 17:20, "Bogdan-Andrei Iancu" [hidden email]:
Failure route does not help you if your routing does not start at all - if do_routing() returns negative. Again, in request route, test the return code for do_routing() - it will return a negative code if no destination is available for routing.

Regards,
Bogdan-Andrei Iancu
  OpenSIPS Founder and Developer
  http://www.opensips-solutions.com

OpenSIPS Summit May 2017 Amsterdam
  http://www.opensips.org/events/Summit-2017Amsterdam.html
On 03/20/2017 02:28 PM, Denis wrote:
Hello, Bogdan!
 
Yes, i know about that.
In failure_route i have
if (($DLG_status == 1) && t_check_status("408"))
action. And it works if i have multiple direction (using alternative mode) for the prefix.
But when i use only one direction for the prefix i have the problem described below.
 
Thank you.
 
-- 
С уважением, Денис.
Best regards, Denis
 
 
 
20.03.2017, 15:24, "Bogdan-Andrei Iancu" [hidden email]:
Hi Denis,

I suspect a scripting error on your side. If all the destinations are disabled, the do_routing() returns a negative code into the script - you need to handle this case and send back whatever negative reply you want. The Drouting modules does not do any SIP signalling for you.

Best regards,
Bogdan-Andrei Iancu
  OpenSIPS Founder and Developer
  http://www.opensips-solutions.com

OpenSIPS Summit May 2017 Amsterdam
  http://www.opensips.org/events/Summit-2017Amsterdam.html
On 03/17/2017 07:50 AM, Denis via Users wrote:
Hello!
 
According to drouting module documentation i am trying to introduce a probing feature to control destination SIP UA access.
Almost everything works correct, besides one thing.
If i have only one destination, which became inaccessible, Opensips "freezes" a call, i.e. it sends 100 trying (script logging) and after does not sent any code (i expected, that Opensips will sent 408 code in such situation after fr_timeout triggering).
Inaccessible destination has "probing" status and i see OPTIONS sent by Opensis to destination.
 
Server:: OpenSIPS (2.2.3 (x86_64/linux))
 
Thank you for any help.
 
-- 
С уважением, Денис.
Best regards, Denis
 
 
 
 
_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users
 
_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users


_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Opensips drouting probing

Bogdan-Andrei Iancu-2
Hi Denis,

Thank you for your help - the problem was found and fixed in head, 2.3 , 2.2 and 1.11 versions.

Please update from GIT and give it a try. Let me know if it works for you now.

Best regards,
Bogdan-Andrei Iancu
  OpenSIPS Founder and Developer
  http://www.opensips-solutions.com

OpenSIPS Summit May 2017 Amsterdam
  http://www.opensips.org/events/Summit-2017Amsterdam.html
On 04/04/2017 08:38 PM, Bogdan-Andrei Iancu wrote:
Could you send me (off list) the full content of this routeid route ?

Thanks,
Bogdan-Andrei Iancu
  OpenSIPS Founder and Developer
  http://www.opensips-solutions.com

OpenSIPS Summit May 2017 Amsterdam
  http://www.opensips.org/events/Summit-2017Amsterdam.html
On 04/04/2017 06:16 PM, Denis wrote:
Yes, without routeid Opensips returns 404 code!
 
-- 
С уважением, Денис.
Best regards, Denis
 
 
 
04.04.2017, 17:59, "Bogdan-Andrei Iancu" [hidden email]:
And if you remove the routeid (in the rule definition), does the routing works ok ?

Regards,
Bogdan-Andrei Iancu
  OpenSIPS Founder and Developer
  http://www.opensips-solutions.com

OpenSIPS Summit May 2017 Amsterdam
  http://www.opensips.org/events/Summit-2017Amsterdam.html
On 04/04/2017 05:56 PM, Denis wrote:
No, i don`t
 
-- 
С уважением, Денис.
Best regards, Denis
 
 
 
04.04.2017, 16:22, "Bogdan-Andrei Iancu" [hidden email]:
Do you do an "drop" or "exit" in that routeid ??
Bogdan-Andrei Iancu
  OpenSIPS Founder and Developer
  http://www.opensips-solutions.com

OpenSIPS Summit May 2017 Amsterdam
  http://www.opensips.org/events/Summit-2017Amsterdam.html
On 04/04/2017 03:16 PM, Denis wrote:
Bogdan,
 
Ok, dr_rules has filled 'routeid' column.
In routeid i, using dialplan, verify dialed prefix for some reason. If dialed prefix verified i make some action, if not, returns to the parent route.
In my example, dialed prefix does not verified.
 
So, route with do_routing
951: xlog ("Prepare routing");
952: if (!do_routing("$avp(5)",,,"$avp(300)","$avp(3)",)) {  
953: send_reply("404", "Not found");
954: exit;
955: }
route [routeid] {   
1848: if (dp_translate("20004", "$rU/$rU", "$avp(999)")) {

  ........
} else {
   ......
}  
1867: }
 
The last strings for the call flow in syslog:
 
:951][me][core xlog]
:952][me][module do_routing]
:1867][me][core if]
:1848][me][module dp_translate]
INFO:drouting:do_routing: All the gateways are disabled
 
That is all. After that only my CANCEL from the caller, because there is no provisioning message after 100 Trying from Opensips.
 
-- 
С уважением, Денис.
Best regards, Denis
 
 
 
04.04.2017, 14:14, "Bogdan-Andrei Iancu" [hidden email]:
Hi Denis,

Again, as drouting is not doing any signalling action, it CANNOT block/freeze your OpenSIPS.

Use script_trace() function to see how your INVITE is handled :
    http://www.opensips.org/Documentation/Script-CoreFunctions-2-2#toc43

Regards,


_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Opensips drouting probing

OpenSIPS - Users mailing list
Bogdan, it seems to be working now. Thank you!
 
Additional moments.
 
1) As i see in log do_routing returns the same error, '-1', in "no prefix in dr_rules" as weel as in "All the gateways are disabled". For my project it is enough, but, in a future, i think, it will be more useful if do_routing will returns several codes, one for each reason.
2) Now, in situation of "All the gateways are disabled" Opensips returns 404 without any script functions. So if 1) will be released, admin will have possibility to chose which SIP code Opensips will send in each reason.
 
-- 
С уважением, Денис.
Best regards, Denis
 
 
 
05.04.2017, 15:02, "Bogdan-Andrei Iancu" <[hidden email]>:
Hi Denis,

Thank you for your help - the problem was found and fixed in head, 2.3 , 2.2 and 1.11 versions.

Please update from GIT and give it a try. Let me know if it works for you now.

Best regards,
Bogdan-Andrei Iancu
  OpenSIPS Founder and Developer
  http://www.opensips-solutions.com

OpenSIPS Summit May 2017 Amsterdam
  http://www.opensips.org/events/Summit-2017Amsterdam.html
On 04/04/2017 08:38 PM, Bogdan-Andrei Iancu wrote:
Could you send me (off list) the full content of this routeid route ?

Thanks,
Bogdan-Andrei Iancu
  OpenSIPS Founder and Developer
  http://www.opensips-solutions.com

OpenSIPS Summit May 2017 Amsterdam
  http://www.opensips.org/events/Summit-2017Amsterdam.html
On 04/04/2017 06:16 PM, Denis wrote:
Yes, without routeid Opensips returns 404 code!
 
-- 
С уважением, Денис.
Best regards, Denis
 
 
 
04.04.2017, 17:59, "Bogdan-Andrei Iancu" [hidden email]:
And if you remove the routeid (in the rule definition), does the routing works ok ?

Regards,
Bogdan-Andrei Iancu
  OpenSIPS Founder and Developer
  http://www.opensips-solutions.com

OpenSIPS Summit May 2017 Amsterdam
  http://www.opensips.org/events/Summit-2017Amsterdam.html
On 04/04/2017 05:56 PM, Denis wrote:
No, i don`t
 
-- 
С уважением, Денис.
Best regards, Denis
 
 
 
04.04.2017, 16:22, "Bogdan-Andrei Iancu" [hidden email]:
Do you do an "drop" or "exit" in that routeid ??
Bogdan-Andrei Iancu
  OpenSIPS Founder and Developer
  http://www.opensips-solutions.com

OpenSIPS Summit May 2017 Amsterdam
  http://www.opensips.org/events/Summit-2017Amsterdam.html
On 04/04/2017 03:16 PM, Denis wrote:
Bogdan,
 
Ok, dr_rules has filled 'routeid' column.
In routeid i, using dialplan, verify dialed prefix for some reason. If dialed prefix verified i make some action, if not, returns to the parent route.
In my example, dialed prefix does not verified.
 
So, route with do_routing
951: xlog ("Prepare routing");
952: if (!do_routing("$avp(5)",,,"$avp(300)","$avp(3)",)) {  
953: send_reply("404", "Not found");
954: exit;
955: }
route [routeid] {   
1848: if (dp_translate("20004", "$rU/$rU", "$avp(999)")) {

  ........
} else {
   ......
}  
1867: }
 
The last strings for the call flow in syslog:
 
:951][me][core xlog]
:952][me][module do_routing]
:1867][me][core if]
:1848][me][module dp_translate]
INFO:drouting:do_routing: All the gateways are disabled
 
That is all. After that only my CANCEL from the caller, because there is no provisioning message after 100 Trying from Opensips.
 
-- 
С уважением, Денис.
Best regards, Denis
 
 
 
04.04.2017, 14:14, "Bogdan-Andrei Iancu" [hidden email]:
Hi Denis,

Again, as drouting is not doing any signalling action, it CANNOT block/freeze your OpenSIPS.

Use script_trace() function to see how your INVITE is handled :
    http://www.opensips.org/Documentation/Script-CoreFunctions-2-2#toc43

Regards,

_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Opensips drouting probing

Bogdan-Andrei Iancu-2
Hi Denis,

Indeed, do_routing() returns -1 for all failure cases - no rule matched, no available destination or simply internal error. Please open a feature request on github, so we can extend and return different negative return codes so the script writer can differently handle them.

Best regards,
Bogdan-Andrei Iancu
  OpenSIPS Founder and Developer
  http://www.opensips-solutions.com

OpenSIPS Summit May 2017 Amsterdam
  http://www.opensips.org/events/Summit-2017Amsterdam.html
On 04/05/2017 04:08 PM, Denis wrote:
Bogdan, it seems to be working now. Thank you!
 
Additional moments.
 
1) As i see in log do_routing returns the same error, '-1', in "no prefix in dr_rules" as weel as in "All the gateways are disabled". For my project it is enough, but, in a future, i think, it will be more useful if do_routing will returns several codes, one for each reason.
2) Now, in situation of "All the gateways are disabled" Opensips returns 404 without any script functions. So if 1) will be released, admin will have possibility to chose which SIP code Opensips will send in each reason.
 
-- 
С уважением, Денис.
Best regards, Denis
 
 
 
05.04.2017, 15:02, "Bogdan-Andrei Iancu" [hidden email]:
Hi Denis,

Thank you for your help - the problem was found and fixed in head, 2.3 , 2.2 and 1.11 versions.

Please update from GIT and give it a try. Let me know if it works for you now.

Best regards,
Bogdan-Andrei Iancu
  OpenSIPS Founder and Developer
  http://www.opensips-solutions.com

OpenSIPS Summit May 2017 Amsterdam
  http://www.opensips.org/events/Summit-2017Amsterdam.html
On 04/04/2017 08:38 PM, Bogdan-Andrei Iancu wrote:
Could you send me (off list) the full content of this routeid route ?

Thanks,
Bogdan-Andrei Iancu
  OpenSIPS Founder and Developer
  http://www.opensips-solutions.com

OpenSIPS Summit May 2017 Amsterdam
  http://www.opensips.org/events/Summit-2017Amsterdam.html
On 04/04/2017 06:16 PM, Denis wrote:
Yes, without routeid Opensips returns 404 code!
 
-- 
С уважением, Денис.
Best regards, Denis
 
 
 
04.04.2017, 17:59, "Bogdan-Andrei Iancu" [hidden email]:
And if you remove the routeid (in the rule definition), does the routing works ok ?

Regards,
Bogdan-Andrei Iancu
  OpenSIPS Founder and Developer
  http://www.opensips-solutions.com

OpenSIPS Summit May 2017 Amsterdam
  http://www.opensips.org/events/Summit-2017Amsterdam.html
On 04/04/2017 05:56 PM, Denis wrote:
No, i don`t
 
-- 
С уважением, Денис.
Best regards, Denis
 
 
 
04.04.2017, 16:22, "Bogdan-Andrei Iancu" [hidden email]:
Do you do an "drop" or "exit" in that routeid ??
Bogdan-Andrei Iancu
  OpenSIPS Founder and Developer
  http://www.opensips-solutions.com

OpenSIPS Summit May 2017 Amsterdam
  http://www.opensips.org/events/Summit-2017Amsterdam.html
On 04/04/2017 03:16 PM, Denis wrote:
Bogdan,
 
Ok, dr_rules has filled 'routeid' column.
In routeid i, using dialplan, verify dialed prefix for some reason. If dialed prefix verified i make some action, if not, returns to the parent route.
In my example, dialed prefix does not verified.
 
So, route with do_routing
951: xlog ("Prepare routing");
952: if (!do_routing("$avp(5)",,,"$avp(300)","$avp(3)",)) {  
953: send_reply("404", "Not found");
954: exit;
955: }
route [routeid] {   
1848: if (dp_translate("20004", "$rU/$rU", "$avp(999)")) {

  ........
} else {
   ......
}  
1867: }
 
The last strings for the call flow in syslog:
 
:951][me][core xlog]
:952][me][module do_routing]
:1867][me][core if]
:1848][me][module dp_translate]
INFO:drouting:do_routing: All the gateways are disabled
 
That is all. After that only my CANCEL from the caller, because there is no provisioning message after 100 Trying from Opensips.
 
-- 
С уважением, Денис.
Best regards, Denis
 
 
 
04.04.2017, 14:14, "Bogdan-Andrei Iancu" [hidden email]:
Hi Denis,

Again, as drouting is not doing any signalling action, it CANNOT block/freeze your OpenSIPS.

Use script_trace() function to see how your INVITE is handled :
    http://www.opensips.org/Documentation/Script-CoreFunctions-2-2#toc43

Regards,


_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Loading...