assigning dialog profiles

classic Classic list List threaded Threaded
15 messages Options
Reply | Threaded
Open this post in threaded view
|

assigning dialog profiles

Jeff Pyle
Hello,

I'm configuring Opensips' dialog module to keep count of the number of calls
I have on each outbound PSTN carrier.  Here's my thinking:

In request route:
- create_dialog() on new INVITE
- select carrier
- set_dlg_profile() to assign to proper profile with this carrier's value

In failure route:
- unset_dlg_profile() to remove from profile, since it failed
- send to original request route to select next carrier, assign profile, etc

When I run this, the first set_dlg_profile() works properly, but the
unset_dlg_profile() in the failure route logs:

 ERROR:dialog:unset_dlg_profile: dialog was not yet created - script error
 ERROR:dialog:w_unset_dlg_profile: failed to unset profile

All subsequent set/unset_dlg_profile give the same error.  Does the dialog
somehow get destroyed when the failure_route is hit?  Is it necessary to
create_dialog() each time the failure_route is hit by sending it back around
to a request route?


Thanks,
Jeff


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

Re: assigning dialog profiles

Brett Nemeroff
Jeff,
The dialogs are destroyed automatically upon failure. You don't need to unset the dialog manually unless there is a reason the dialog doesn't fit the profile anymore..

-Brett

On Sun, Mar 8, 2009 at 2:09 PM, Jeff Pyle <[hidden email]> wrote:
Hello,

I'm configuring Opensips' dialog module to keep count of the number of calls
I have on each outbound PSTN carrier.  Here's my thinking:

In request route:
- create_dialog() on new INVITE
- select carrier
- set_dlg_profile() to assign to proper profile with this carrier's value

In failure route:
- unset_dlg_profile() to remove from profile, since it failed
- send to original request route to select next carrier, assign profile, etc

When I run this, the first set_dlg_profile() works properly, but the
unset_dlg_profile() in the failure route logs:

 ERROR:dialog:unset_dlg_profile: dialog was not yet created - script error
 ERROR:dialog:w_unset_dlg_profile: failed to unset profile

All subsequent set/unset_dlg_profile give the same error.  Does the dialog
somehow get destroyed when the failure_route is hit?  Is it necessary to
create_dialog() each time the failure_route is hit by sending it back around
to a request route?


Thanks,
Jeff


_______________________________________________
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
|

Re: assigning dialog profiles

Jeff Pyle
Re: [OpenSIPS-Users] assigning dialog profiles Brett,

So, if I understand this correctly...  Each time a call hits a failure_route, the dialog is destroyed, and with it any profile assignments.  In my case, when I select another PSTN carrier, I simply do a create_dialog() again and another set_dlg_profile()?


- Jeff



On 3/8/09 1:15 PM, "Brett Nemeroff" <brett@...> wrote:

Jeff,
The dialogs are destroyed automatically upon failure. You don't need to unset the dialog manually unless there is a reason the dialog doesn't fit the profile anymore..

-Brett

On Sun, Mar 8, 2009 at 2:09 PM, Jeff Pyle <jpyle@...> wrote:
Hello,

I'm configuring Opensips' dialog module to keep count of the number of calls
I have on each outbound PSTN carrier.  Here's my thinking:

In request route:
- create_dialog() on new INVITE
- select carrier
- set_dlg_profile() to assign to proper profile with this carrier's value

In failure route:
- unset_dlg_profile() to remove from profile, since it failed
- send to original request route to select next carrier, assign profile, etc

When I run this, the first set_dlg_profile() works properly, but the
unset_dlg_profile() in the failure route logs:

 ERROR:dialog:unset_dlg_profile: dialog was not yet created - script error
 ERROR:dialog:w_unset_dlg_profile: failed to unset profile

All subsequent set/unset_dlg_profile give the same error.  Does the dialog
somehow get destroyed when the failure_route is hit?  Is it necessary to
create_dialog() each time the failure_route is hit by sending it back around
to a request route?


Thanks,
Jeff


_______________________________________________
Users mailing list
Users@...
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
|

Re: assigning dialog profiles

Jeff Pyle
Re: [OpenSIPS-Users] assigning dialog profiles Brett,

I changed the dialog profile operations to occur just before the INVITE is sent to the PSTN carrier.  So, in so many words:  create_dialog(), set_dlg_profile(), then t_relay().

The first time through, no problem.  The second time through (first carrier hit failure route), create_dialog() returns without an error (so the dialog re-created successfully or was already there), but the set_dlg_profile() immediately after the create_dialog() fails with the same error:

ERROR:dialog:set_dlg_profile: dialog was not yet created - script error
 ERROR:dialog:w_set_dlg_profile: failed to set profile

The exact formulation is:  set_dlg_profile("outbound", "$avp(s:dlgid_out)");
I have verified that $avp(s:dlgid_out) does have a value.

Any thoughts?


Thanks,
Jeff



On 3/8/09 2:19 PM, "Jeff Pyle" <jpyle@...> wrote:

Brett,

So, if I understand this correctly...  Each time a call hits a failure_route, the dialog is destroyed, and with it any profile assignments.  In my case, when I select another PSTN carrier, I simply do a create_dialog() again and another set_dlg_profile()?


- Jeff



On 3/8/09 1:15 PM, "Brett Nemeroff" <brett@...> wrote:

Jeff,
The dialogs are destroyed automatically upon failure. You don't need to unset the dialog manually unless there is a reason the dialog doesn't fit the profile anymore..

-Brett

On Sun, Mar 8, 2009 at 2:09 PM, Jeff Pyle <jpyle@...> wrote:
Hello,

I'm configuring Opensips' dialog module to keep count of the number of calls
I have on each outbound PSTN carrier.  Here's my thinking:

In request route:
- create_dialog() on new INVITE
- select carrier
- set_dlg_profile() to assign to proper profile with this carrier's value

In failure route:
- unset_dlg_profile() to remove from profile, since it failed
- send to original request route to select next carrier, assign profile, etc

When I run this, the first set_dlg_profile() works properly, but the
unset_dlg_profile() in the failure route logs:

 ERROR:dialog:unset_dlg_profile: dialog was not yet created - script error
 ERROR:dialog:w_unset_dlg_profile: failed to unset profile

All subsequent set/unset_dlg_profile give the same error.  Does the dialog
somehow get destroyed when the failure_route is hit?  Is it necessary to
create_dialog() each time the failure_route is hit by sending it back around
to a request route?


Thanks,
Jeff


_______________________________________________
Users mailing list
Users@...
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
|

Re: assigning dialog profiles

Bogdan-Andrei Iancu
In reply to this post by Brett Nemeroff
Hi Brett,

This is not correct - the dialog is automatically destroyed when the
call fails. A failure route is an indication that the current branches
failed, but you can still fork the call to new destinations.

So, the dialog terminated when there is a negative reply sent to the UAC.

Jeff, in your case, it is correct removing the dialog from the old
profile and adding it to the new profile.

Regards,
Bogdan

Brett Nemeroff wrote:

> Jeff,
> The dialogs are destroyed automatically upon failure. You don't need
> to unset the dialog manually unless there is a reason the dialog
> doesn't fit the profile anymore..
>
> -Brett
>
> On Sun, Mar 8, 2009 at 2:09 PM, Jeff Pyle <[hidden email]
> <mailto:[hidden email]>> wrote:
>
>     Hello,
>
>     I'm configuring Opensips' dialog module to keep count of the
>     number of calls
>     I have on each outbound PSTN carrier.  Here's my thinking:
>
>     In request route:
>     - create_dialog() on new INVITE
>     - select carrier
>     - set_dlg_profile() to assign to proper profile with this
>     carrier's value
>
>     In failure route:
>     - unset_dlg_profile() to remove from profile, since it failed
>     - send to original request route to select next carrier, assign
>     profile, etc
>
>     When I run this, the first set_dlg_profile() works properly, but the
>     unset_dlg_profile() in the failure route logs:
>
>      ERROR:dialog:unset_dlg_profile: dialog was not yet created -
>     script error
>      ERROR:dialog:w_unset_dlg_profile: failed to unset profile
>
>     All subsequent set/unset_dlg_profile give the same error.  Does
>     the dialog
>     somehow get destroyed when the failure_route is hit?  Is it
>     necessary to
>     create_dialog() each time the failure_route is hit by sending it
>     back around
>     to a request route?
>
>
>     Thanks,
>     Jeff
>
>
>     _______________________________________________
>     Users mailing list
>     [hidden email] <mailto:[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
|

Re: assigning dialog profiles

Bogdan-Andrei Iancu
In reply to this post by Jeff Pyle
Hi Jeff,

Thank you for the report - there was a bug in the new code (when
create_dialog() was added), but now it is fixed on SVN.

Please update and test again with your initial configuration (see the
email I sent to Brett).

Regards,
Bogdan

Jeff Pyle wrote:

> Hello,
>
> I'm configuring Opensips' dialog module to keep count of the number of calls
> I have on each outbound PSTN carrier.  Here's my thinking:
>
> In request route:
> - create_dialog() on new INVITE
> - select carrier
> - set_dlg_profile() to assign to proper profile with this carrier's value
>
> In failure route:
> - unset_dlg_profile() to remove from profile, since it failed
> - send to original request route to select next carrier, assign profile, etc
>
> When I run this, the first set_dlg_profile() works properly, but the
> unset_dlg_profile() in the failure route logs:
>
>  ERROR:dialog:unset_dlg_profile: dialog was not yet created - script error
>  ERROR:dialog:w_unset_dlg_profile: failed to unset profile
>
> All subsequent set/unset_dlg_profile give the same error.  Does the dialog
> somehow get destroyed when the failure_route is hit?  Is it necessary to
> create_dialog() each time the failure_route is hit by sending it back around
> to a request route?
>
>
> Thanks,
> Jeff
>
>
> _______________________________________________
> 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
|

Re: assigning dialog profiles

Jeff Pyle
In reply to this post by Bogdan-Andrei Iancu
Hi Bogdan,

Thanks for the info.  If that's the case, why does the unset_dlg_profile()
fail in the failure_route, as well as all subsequent
set_dlg_profile()/unset_dlg_profile() for the various PSTN carriers where
the call goes?


- Jeff



On 3/9/09 10:27 AM, "Bogdan-Andrei Iancu" <[hidden email]> wrote:

> Hi Brett,
>
> This is not correct - the dialog is automatically destroyed when the
> call fails. A failure route is an indication that the current branches
> failed, but you can still fork the call to new destinations.
>
> So, the dialog terminated when there is a negative reply sent to the UAC.
>
> Jeff, in your case, it is correct removing the dialog from the old
> profile and adding it to the new profile.
>
> Regards,
> Bogdan
>
> Brett Nemeroff wrote:
>> Jeff,
>> The dialogs are destroyed automatically upon failure. You don't need
>> to unset the dialog manually unless there is a reason the dialog
>> doesn't fit the profile anymore..
>>
>> -Brett
>>
>> On Sun, Mar 8, 2009 at 2:09 PM, Jeff Pyle <[hidden email]
>> <mailto:[hidden email]>> wrote:
>>
>>     Hello,
>>
>>     I'm configuring Opensips' dialog module to keep count of the
>>     number of calls
>>     I have on each outbound PSTN carrier.  Here's my thinking:
>>
>>     In request route:
>>     - create_dialog() on new INVITE
>>     - select carrier
>>     - set_dlg_profile() to assign to proper profile with this
>>     carrier's value
>>
>>     In failure route:
>>     - unset_dlg_profile() to remove from profile, since it failed
>>     - send to original request route to select next carrier, assign
>>     profile, etc
>>
>>     When I run this, the first set_dlg_profile() works properly, but the
>>     unset_dlg_profile() in the failure route logs:
>>
>>      ERROR:dialog:unset_dlg_profile: dialog was not yet created -
>>     script error
>>      ERROR:dialog:w_unset_dlg_profile: failed to unset profile
>>
>>     All subsequent set/unset_dlg_profile give the same error.  Does
>>     the dialog
>>     somehow get destroyed when the failure_route is hit?  Is it
>>     necessary to
>>     create_dialog() each time the failure_route is hit by sending it
>>     back around
>>     to a request route?
>>
>>
>>     Thanks,
>>     Jeff
>>
>>
>>     _______________________________________________
>>     Users mailing list
>>     [hidden email] <mailto:[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
|

Re: assigning dialog profiles

Brett Nemeroff
In reply to this post by Bogdan-Andrei Iancu
Bogdan,
Thanks for the correction. Sorry about that Jeff ;)


On Mon, Mar 9, 2009 at 8:27 AM, Bogdan-Andrei Iancu <[hidden email]> wrote:
Hi Brett,

This is not correct - the dialog is automatically destroyed when the call fails. A failure route is an indication that the current branches failed, but you can still fork the call to new destinations.

So, the dialog terminated when there is a negative reply sent to the UAC.

Jeff, in your case, it is correct removing the dialog from the old profile and adding it to the new profile.

Regards,
Bogdan

Brett Nemeroff wrote:
Jeff,
The dialogs are destroyed automatically upon failure. You don't need to unset the dialog manually unless there is a reason the dialog doesn't fit the profile anymore..

-Brett

On Sun, Mar 8, 2009 at 2:09 PM, Jeff Pyle <[hidden email] <mailto:[hidden email]>> wrote:

   Hello,

   I'm configuring Opensips' dialog module to keep count of the
   number of calls
   I have on each outbound PSTN carrier.  Here's my thinking:

   In request route:
   - create_dialog() on new INVITE
   - select carrier
   - set_dlg_profile() to assign to proper profile with this
   carrier's value

   In failure route:
   - unset_dlg_profile() to remove from profile, since it failed
   - send to original request route to select next carrier, assign
   profile, etc

   When I run this, the first set_dlg_profile() works properly, but the
   unset_dlg_profile() in the failure route logs:

    ERROR:dialog:unset_dlg_profile: dialog was not yet created -
   script error
    ERROR:dialog:w_unset_dlg_profile: failed to unset profile

   All subsequent set/unset_dlg_profile give the same error.  Does
   the dialog
   somehow get destroyed when the failure_route is hit?  Is it
   necessary to
   create_dialog() each time the failure_route is hit by sending it
   back around
   to a request route?


   Thanks,
   Jeff


   _______________________________________________
   Users mailing list
   [hidden email] <mailto:[hidden email]> ------------------------------------------------------------------------


_______________________________________________
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
|

Re: assigning dialog profiles

Jeff Pyle
In reply to this post by Bogdan-Andrei Iancu
Hi Bogdan,

I updated from svn and the dialog profile assignments seem to be behaving
now.

However, I get this error:

CRITICAL:dialog:log_next_state_dlg: bogus event 6 in state 2 for dlg
0xb614953c [3865:384697978] with clid
'[hidden email]' and tags 'as4156018e' ''

It shows up when the call goes to 200 OK on the second PSTN carrier, after
failing on the first one, if that's relevant.

The dialog still shows up in the database in the proper profile with the
proper value.

I don't know if this is related, but until just a moment ago anytime I ran
"opensipsctl fifo dlg_list", Opensips would restart.  I moved debug to 6,
then to 4, and then back to 3.  And it didn't happen anymore.  Odd.


- Jeff



On 3/9/09 10:29 AM, "Bogdan-Andrei Iancu" <[hidden email]> wrote:

> Hi Jeff,
>
> Thank you for the report - there was a bug in the new code (when
> create_dialog() was added), but now it is fixed on SVN.
>
> Please update and test again with your initial configuration (see the
> email I sent to Brett).
>
> Regards,
> Bogdan
>
> Jeff Pyle wrote:
>> Hello,
>>
>> I'm configuring Opensips' dialog module to keep count of the number of calls
>> I have on each outbound PSTN carrier.  Here's my thinking:
>>
>> In request route:
>> - create_dialog() on new INVITE
>> - select carrier
>> - set_dlg_profile() to assign to proper profile with this carrier's value
>>
>> In failure route:
>> - unset_dlg_profile() to remove from profile, since it failed
>> - send to original request route to select next carrier, assign profile, etc
>>
>> When I run this, the first set_dlg_profile() works properly, but the
>> unset_dlg_profile() in the failure route logs:
>>
>>  ERROR:dialog:unset_dlg_profile: dialog was not yet created - script error
>>  ERROR:dialog:w_unset_dlg_profile: failed to unset profile
>>
>> All subsequent set/unset_dlg_profile give the same error.  Does the dialog
>> somehow get destroyed when the failure_route is hit?  Is it necessary to
>> create_dialog() each time the failure_route is hit by sending it back around
>> to a request route?
>>
>>
>> Thanks,
>> Jeff
>>
>>
>> _______________________________________________
>> 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
|

Re: assigning dialog profiles

Bogdan-Andrei Iancu
Hi Jeff,

The error message translates in receiving the ACK before finishing
processing the 200 OK....It is race I know about and I'm planing the fix it.

In regards to "opensipsctl fifo dlg_list", by restart, you mean crash?
does the log says something about?

Thanks and regards,
Bogdan

Jeff Pyle wrote:

> Hi Bogdan,
>
> I updated from svn and the dialog profile assignments seem to be behaving
> now.
>
> However, I get this error:
>
> CRITICAL:dialog:log_next_state_dlg: bogus event 6 in state 2 for dlg
> 0xb614953c [3865:384697978] with clid
> '[hidden email]' and tags 'as4156018e' ''
>
> It shows up when the call goes to 200 OK on the second PSTN carrier, after
> failing on the first one, if that's relevant.
>
> The dialog still shows up in the database in the proper profile with the
> proper value.
>
> I don't know if this is related, but until just a moment ago anytime I ran
> "opensipsctl fifo dlg_list", Opensips would restart.  I moved debug to 6,
> then to 4, and then back to 3.  And it didn't happen anymore.  Odd.
>
>
> - Jeff
>
>
>
> On 3/9/09 10:29 AM, "Bogdan-Andrei Iancu" <[hidden email]> wrote:
>
>  
>> Hi Jeff,
>>
>> Thank you for the report - there was a bug in the new code (when
>> create_dialog() was added), but now it is fixed on SVN.
>>
>> Please update and test again with your initial configuration (see the
>> email I sent to Brett).
>>
>> Regards,
>> Bogdan
>>
>> Jeff Pyle wrote:
>>    
>>> Hello,
>>>
>>> I'm configuring Opensips' dialog module to keep count of the number of calls
>>> I have on each outbound PSTN carrier.  Here's my thinking:
>>>
>>> In request route:
>>> - create_dialog() on new INVITE
>>> - select carrier
>>> - set_dlg_profile() to assign to proper profile with this carrier's value
>>>
>>> In failure route:
>>> - unset_dlg_profile() to remove from profile, since it failed
>>> - send to original request route to select next carrier, assign profile, etc
>>>
>>> When I run this, the first set_dlg_profile() works properly, but the
>>> unset_dlg_profile() in the failure route logs:
>>>
>>>  ERROR:dialog:unset_dlg_profile: dialog was not yet created - script error
>>>  ERROR:dialog:w_unset_dlg_profile: failed to unset profile
>>>
>>> All subsequent set/unset_dlg_profile give the same error.  Does the dialog
>>> somehow get destroyed when the failure_route is hit?  Is it necessary to
>>> create_dialog() each time the failure_route is hit by sending it back around
>>> to a request route?
>>>
>>>
>>> Thanks,
>>> Jeff
>>>
>>>
>>> _______________________________________________
>>> 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
|

Re: assigning dialog profiles

Jeff Pyle
Hi Bogdan,

Ok.  Is it safe to assume that this is "caused" by low network latency?  Do
you have any feel for how long the dialog module needs to process the 200?
I suppose that's not fair to ask because it would depend on machine speed.
Does this problem cause any problems with the actual operation of the dialog
module at this point?

With the restart... It's as if I just restarted it.  No log data at debug=3.
I changed it to 6.  There was just too much data for my mental parser to
deal with.  I went to 4.  By this point I couldn't make it restart anymore.
I have no idea what had changed.  Perhaps it will reoccur and I can get more
data.  We're going to be starting testing soon with the mi_datagram module;
perhaps if that causes the same issues I'll be able to get more data.


- Jeff



On 3/9/09 12:51 PM, "Bogdan-Andrei Iancu" <[hidden email]> wrote:

> Hi Jeff,
>
> The error message translates in receiving the ACK before finishing
> processing the 200 OK....It is race I know about and I'm planing the fix it.
>
> In regards to "opensipsctl fifo dlg_list", by restart, you mean crash?
> does the log says something about?
>
> Thanks and regards,
> Bogdan
>
> Jeff Pyle wrote:
>> Hi Bogdan,
>>
>> I updated from svn and the dialog profile assignments seem to be behaving
>> now.
>>
>> However, I get this error:
>>
>> CRITICAL:dialog:log_next_state_dlg: bogus event 6 in state 2 for dlg
>> 0xb614953c [3865:384697978] with clid
>> '[hidden email]' and tags 'as4156018e' ''
>>
>> It shows up when the call goes to 200 OK on the second PSTN carrier, after
>> failing on the first one, if that's relevant.
>>
>> The dialog still shows up in the database in the proper profile with the
>> proper value.
>>
>> I don't know if this is related, but until just a moment ago anytime I ran
>> "opensipsctl fifo dlg_list", Opensips would restart.  I moved debug to 6,
>> then to 4, and then back to 3.  And it didn't happen anymore.  Odd.
>>
>>
>> - Jeff
>>
>>
>>
>> On 3/9/09 10:29 AM, "Bogdan-Andrei Iancu" <[hidden email]> wrote:
>>
>>  
>>> Hi Jeff,
>>>
>>> Thank you for the report - there was a bug in the new code (when
>>> create_dialog() was added), but now it is fixed on SVN.
>>>
>>> Please update and test again with your initial configuration (see the
>>> email I sent to Brett).
>>>
>>> Regards,
>>> Bogdan
>>>
>>> Jeff Pyle wrote:
>>>    
>>>> Hello,
>>>>
>>>> I'm configuring Opensips' dialog module to keep count of the number of
>>>> calls
>>>> I have on each outbound PSTN carrier.  Here's my thinking:
>>>>
>>>> In request route:
>>>> - create_dialog() on new INVITE
>>>> - select carrier
>>>> - set_dlg_profile() to assign to proper profile with this carrier's value
>>>>
>>>> In failure route:
>>>> - unset_dlg_profile() to remove from profile, since it failed
>>>> - send to original request route to select next carrier, assign profile,
>>>> etc
>>>>
>>>> When I run this, the first set_dlg_profile() works properly, but the
>>>> unset_dlg_profile() in the failure route logs:
>>>>
>>>>  ERROR:dialog:unset_dlg_profile: dialog was not yet created - script error
>>>>  ERROR:dialog:w_unset_dlg_profile: failed to unset profile
>>>>
>>>> All subsequent set/unset_dlg_profile give the same error.  Does the dialog
>>>> somehow get destroyed when the failure_route is hit?  Is it necessary to
>>>> create_dialog() each time the failure_route is hit by sending it back
>>>> around
>>>> to a request route?
>>>>
>>>>
>>>> Thanks,
>>>> Jeff
>>>>
>>>>
>>>> _______________________________________________
>>>> 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
|

Re: assigning dialog profiles

Jeff Pyle
In reply to this post by Bogdan-Andrei Iancu
Hi Bogdan,

I just encountered a new error.  Here's what the log had to say about it:

 Unassigning dialog profile value no
 CRITICAL:core:qm_free: freeing already freed pointer, first free:
dlg_profile.c: destroy_linkers(234) - aborting
 INFO:core:handle_sigs: child process 29729 exited by a signal 6
 INFO:core:handle_sigs: core was not generated
 INFO:core:handle_sigs: terminating due to SIGCHLD

The first line is from this:
  xlog("L_INFO", "Unassigning dialog profile value $avp(s:dlgid_out)\n");

I'm not sure where the "no" came from.



- Jeff



On 3/9/09 12:51 PM, "Bogdan-Andrei Iancu" <[hidden email]> wrote:

> Hi Jeff,
>
> The error message translates in receiving the ACK before finishing
> processing the 200 OK....It is race I know about and I'm planing the fix it.
>
> In regards to "opensipsctl fifo dlg_list", by restart, you mean crash?
> does the log says something about?
>
> Thanks and regards,
> Bogdan
>
> Jeff Pyle wrote:
>> Hi Bogdan,
>>
>> I updated from svn and the dialog profile assignments seem to be behaving
>> now.
>>
>> However, I get this error:
>>
>> CRITICAL:dialog:log_next_state_dlg: bogus event 6 in state 2 for dlg
>> 0xb614953c [3865:384697978] with clid
>> '[hidden email]' and tags 'as4156018e' ''
>>
>> It shows up when the call goes to 200 OK on the second PSTN carrier, after
>> failing on the first one, if that's relevant.
>>
>> The dialog still shows up in the database in the proper profile with the
>> proper value.
>>
>> I don't know if this is related, but until just a moment ago anytime I ran
>> "opensipsctl fifo dlg_list", Opensips would restart.  I moved debug to 6,
>> then to 4, and then back to 3.  And it didn't happen anymore.  Odd.
>>
>>
>> - Jeff
>>
>>
>>
>> On 3/9/09 10:29 AM, "Bogdan-Andrei Iancu" <[hidden email]> wrote:
>>
>>  
>>> Hi Jeff,
>>>
>>> Thank you for the report - there was a bug in the new code (when
>>> create_dialog() was added), but now it is fixed on SVN.
>>>
>>> Please update and test again with your initial configuration (see the
>>> email I sent to Brett).
>>>
>>> Regards,
>>> Bogdan
>>>
>>> Jeff Pyle wrote:
>>>    
>>>> Hello,
>>>>
>>>> I'm configuring Opensips' dialog module to keep count of the number of
>>>> calls
>>>> I have on each outbound PSTN carrier.  Here's my thinking:
>>>>
>>>> In request route:
>>>> - create_dialog() on new INVITE
>>>> - select carrier
>>>> - set_dlg_profile() to assign to proper profile with this carrier's value
>>>>
>>>> In failure route:
>>>> - unset_dlg_profile() to remove from profile, since it failed
>>>> - send to original request route to select next carrier, assign profile,
>>>> etc
>>>>
>>>> When I run this, the first set_dlg_profile() works properly, but the
>>>> unset_dlg_profile() in the failure route logs:
>>>>
>>>>  ERROR:dialog:unset_dlg_profile: dialog was not yet created - script error
>>>>  ERROR:dialog:w_unset_dlg_profile: failed to unset profile
>>>>
>>>> All subsequent set/unset_dlg_profile give the same error.  Does the dialog
>>>> somehow get destroyed when the failure_route is hit?  Is it necessary to
>>>> create_dialog() each time the failure_route is hit by sending it back
>>>> around
>>>> to a request route?
>>>>
>>>>
>>>> Thanks,
>>>> Jeff
>>>>
>>>>
>>>> _______________________________________________
>>>> 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
|

Re: assigning dialog profiles

Bogdan-Andrei Iancu
In reply to this post by Jeff Pyle
Hi Jeff,

Jeff Pyle wrote:
> Hi Bogdan,
>
> Ok.  Is it safe to assume that this is "caused" by low network latency?
not necessary...it might be because of long 200OK processing, like
tracing in DB.
>  Do
> you have any feel for how long the dialog module needs to process the 200?
>  
it is not dialog module, but about other module doing work on the 200 OK.
> I suppose that's not fair to ask because it would depend on machine speed.
>  
no, it is not the machine, but the CFG. Anyhow this is more or less a
bug in how the dialog state machine is updated.
> Does this problem cause any problems with the actual operation of the dialog
> module at this point?
>  
not really (except the err logs) - your dialogs will be in "confirmed
but not acknowledged" state but it is equivalent to "confirmed and
acknowledged" state
> With the restart... It's as if I just restarted it.  No log data at debug=3.
> I changed it to 6.  There was just too much data for my mental parser to
> deal with.  I went to 4.  By this point I couldn't make it restart anymore.
> I have no idea what had changed.  Perhaps it will reoccur and I can get more
> data.  We're going to be starting testing soon with the mi_datagram module;
> perhaps if that causes the same issues I'll be able to get more data.
>  
OK.

Regards,
Bogdan

>
> - Jeff
>
>
>
> On 3/9/09 12:51 PM, "Bogdan-Andrei Iancu" <[hidden email]> wrote:
>
>  
>> Hi Jeff,
>>
>> The error message translates in receiving the ACK before finishing
>> processing the 200 OK....It is race I know about and I'm planing the fix it.
>>
>> In regards to "opensipsctl fifo dlg_list", by restart, you mean crash?
>> does the log says something about?
>>
>> Thanks and regards,
>> Bogdan
>>
>> Jeff Pyle wrote:
>>    
>>> Hi Bogdan,
>>>
>>> I updated from svn and the dialog profile assignments seem to be behaving
>>> now.
>>>
>>> However, I get this error:
>>>
>>> CRITICAL:dialog:log_next_state_dlg: bogus event 6 in state 2 for dlg
>>> 0xb614953c [3865:384697978] with clid
>>> '[hidden email]' and tags 'as4156018e' ''
>>>
>>> It shows up when the call goes to 200 OK on the second PSTN carrier, after
>>> failing on the first one, if that's relevant.
>>>
>>> The dialog still shows up in the database in the proper profile with the
>>> proper value.
>>>
>>> I don't know if this is related, but until just a moment ago anytime I ran
>>> "opensipsctl fifo dlg_list", Opensips would restart.  I moved debug to 6,
>>> then to 4, and then back to 3.  And it didn't happen anymore.  Odd.
>>>
>>>
>>> - Jeff
>>>
>>>
>>>
>>> On 3/9/09 10:29 AM, "Bogdan-Andrei Iancu" <[hidden email]> wrote:
>>>
>>>  
>>>      
>>>> Hi Jeff,
>>>>
>>>> Thank you for the report - there was a bug in the new code (when
>>>> create_dialog() was added), but now it is fixed on SVN.
>>>>
>>>> Please update and test again with your initial configuration (see the
>>>> email I sent to Brett).
>>>>
>>>> Regards,
>>>> Bogdan
>>>>
>>>> Jeff Pyle wrote:
>>>>    
>>>>        
>>>>> Hello,
>>>>>
>>>>> I'm configuring Opensips' dialog module to keep count of the number of
>>>>> calls
>>>>> I have on each outbound PSTN carrier.  Here's my thinking:
>>>>>
>>>>> In request route:
>>>>> - create_dialog() on new INVITE
>>>>> - select carrier
>>>>> - set_dlg_profile() to assign to proper profile with this carrier's value
>>>>>
>>>>> In failure route:
>>>>> - unset_dlg_profile() to remove from profile, since it failed
>>>>> - send to original request route to select next carrier, assign profile,
>>>>> etc
>>>>>
>>>>> When I run this, the first set_dlg_profile() works properly, but the
>>>>> unset_dlg_profile() in the failure route logs:
>>>>>
>>>>>  ERROR:dialog:unset_dlg_profile: dialog was not yet created - script error
>>>>>  ERROR:dialog:w_unset_dlg_profile: failed to unset profile
>>>>>
>>>>> All subsequent set/unset_dlg_profile give the same error.  Does the dialog
>>>>> somehow get destroyed when the failure_route is hit?  Is it necessary to
>>>>> create_dialog() each time the failure_route is hit by sending it back
>>>>> around
>>>>> to a request route?
>>>>>
>>>>>
>>>>> Thanks,
>>>>> Jeff
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> 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
|

Re: assigning dialog profiles

Bogdan-Andrei Iancu
In reply to this post by Jeff Pyle
Hi Jeff,

If you can reproduce this, can you get a full log (use debug=6) for the
call ? It looks like a double de-allocation of the mem chunk.

Thanks and regards,
Bogdan

Jeff Pyle wrote:

> Hi Bogdan,
>
> I just encountered a new error.  Here's what the log had to say about it:
>
>  Unassigning dialog profile value no
>  CRITICAL:core:qm_free: freeing already freed pointer, first free:
> dlg_profile.c: destroy_linkers(234) - aborting
>  INFO:core:handle_sigs: child process 29729 exited by a signal 6
>  INFO:core:handle_sigs: core was not generated
>  INFO:core:handle_sigs: terminating due to SIGCHLD
>
> The first line is from this:
>   xlog("L_INFO", "Unassigning dialog profile value $avp(s:dlgid_out)\n");
>
> I'm not sure where the "no" came from.
>
>
>
> - Jeff
>
>
>
> On 3/9/09 12:51 PM, "Bogdan-Andrei Iancu" <[hidden email]> wrote:
>
>  
>> Hi Jeff,
>>
>> The error message translates in receiving the ACK before finishing
>> processing the 200 OK....It is race I know about and I'm planing the fix it.
>>
>> In regards to "opensipsctl fifo dlg_list", by restart, you mean crash?
>> does the log says something about?
>>
>> Thanks and regards,
>> Bogdan
>>
>> Jeff Pyle wrote:
>>    
>>> Hi Bogdan,
>>>
>>> I updated from svn and the dialog profile assignments seem to be behaving
>>> now.
>>>
>>> However, I get this error:
>>>
>>> CRITICAL:dialog:log_next_state_dlg: bogus event 6 in state 2 for dlg
>>> 0xb614953c [3865:384697978] with clid
>>> '[hidden email]' and tags 'as4156018e' ''
>>>
>>> It shows up when the call goes to 200 OK on the second PSTN carrier, after
>>> failing on the first one, if that's relevant.
>>>
>>> The dialog still shows up in the database in the proper profile with the
>>> proper value.
>>>
>>> I don't know if this is related, but until just a moment ago anytime I ran
>>> "opensipsctl fifo dlg_list", Opensips would restart.  I moved debug to 6,
>>> then to 4, and then back to 3.  And it didn't happen anymore.  Odd.
>>>
>>>
>>> - Jeff
>>>
>>>
>>>
>>> On 3/9/09 10:29 AM, "Bogdan-Andrei Iancu" <[hidden email]> wrote:
>>>
>>>  
>>>      
>>>> Hi Jeff,
>>>>
>>>> Thank you for the report - there was a bug in the new code (when
>>>> create_dialog() was added), but now it is fixed on SVN.
>>>>
>>>> Please update and test again with your initial configuration (see the
>>>> email I sent to Brett).
>>>>
>>>> Regards,
>>>> Bogdan
>>>>
>>>> Jeff Pyle wrote:
>>>>    
>>>>        
>>>>> Hello,
>>>>>
>>>>> I'm configuring Opensips' dialog module to keep count of the number of
>>>>> calls
>>>>> I have on each outbound PSTN carrier.  Here's my thinking:
>>>>>
>>>>> In request route:
>>>>> - create_dialog() on new INVITE
>>>>> - select carrier
>>>>> - set_dlg_profile() to assign to proper profile with this carrier's value
>>>>>
>>>>> In failure route:
>>>>> - unset_dlg_profile() to remove from profile, since it failed
>>>>> - send to original request route to select next carrier, assign profile,
>>>>> etc
>>>>>
>>>>> When I run this, the first set_dlg_profile() works properly, but the
>>>>> unset_dlg_profile() in the failure route logs:
>>>>>
>>>>>  ERROR:dialog:unset_dlg_profile: dialog was not yet created - script error
>>>>>  ERROR:dialog:w_unset_dlg_profile: failed to unset profile
>>>>>
>>>>> All subsequent set/unset_dlg_profile give the same error.  Does the dialog
>>>>> somehow get destroyed when the failure_route is hit?  Is it necessary to
>>>>> create_dialog() each time the failure_route is hit by sending it back
>>>>> around
>>>>> to a request route?
>>>>>
>>>>>
>>>>> Thanks,
>>>>> Jeff
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> 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
|

Re: assigning dialog profiles

Jeff Pyle
Bogdan,

I have not been able to reproduce it.  It seems to be a rare occurrence.
Unfortunately I can't leave logging set to 6 because it would prevent me
from continued development on the box.  If it happens again I'll try to take
note of exactly what I had been doing up until that point to see if I can
reproduce it.



- Jeff



On 3/9/09 2:44 PM, "Bogdan-Andrei Iancu" <[hidden email]> wrote:

> Hi Jeff,
>
> If you can reproduce this, can you get a full log (use debug=6) for the
> call ? It looks like a double de-allocation of the mem chunk.
>
> Thanks and regards,
> Bogdan
>
> Jeff Pyle wrote:
>> Hi Bogdan,
>>
>> I just encountered a new error.  Here's what the log had to say about it:
>>
>>  Unassigning dialog profile value no
>>  CRITICAL:core:qm_free: freeing already freed pointer, first free:
>> dlg_profile.c: destroy_linkers(234) - aborting
>>  INFO:core:handle_sigs: child process 29729 exited by a signal 6
>>  INFO:core:handle_sigs: core was not generated
>>  INFO:core:handle_sigs: terminating due to SIGCHLD
>>
>> The first line is from this:
>>   xlog("L_INFO", "Unassigning dialog profile value $avp(s:dlgid_out)\n");
>>
>> I'm not sure where the "no" came from.
>>
>>
>>
>> - Jeff
>>
>>
>>
>> On 3/9/09 12:51 PM, "Bogdan-Andrei Iancu" <[hidden email]> wrote:
>>
>>  
>>> Hi Jeff,
>>>
>>> The error message translates in receiving the ACK before finishing
>>> processing the 200 OK....It is race I know about and I'm planing the fix it.
>>>
>>> In regards to "opensipsctl fifo dlg_list", by restart, you mean crash?
>>> does the log says something about?
>>>
>>> Thanks and regards,
>>> Bogdan
>>>
>>> Jeff Pyle wrote:
>>>    
>>>> Hi Bogdan,
>>>>
>>>> I updated from svn and the dialog profile assignments seem to be behaving
>>>> now.
>>>>
>>>> However, I get this error:
>>>>
>>>> CRITICAL:dialog:log_next_state_dlg: bogus event 6 in state 2 for dlg
>>>> 0xb614953c [3865:384697978] with clid
>>>> '[hidden email]' and tags 'as4156018e' ''
>>>>
>>>> It shows up when the call goes to 200 OK on the second PSTN carrier, after
>>>> failing on the first one, if that's relevant.
>>>>
>>>> The dialog still shows up in the database in the proper profile with the
>>>> proper value.
>>>>
>>>> I don't know if this is related, but until just a moment ago anytime I ran
>>>> "opensipsctl fifo dlg_list", Opensips would restart.  I moved debug to 6,
>>>> then to 4, and then back to 3.  And it didn't happen anymore.  Odd.
>>>>
>>>>
>>>> - Jeff
>>>>
>>>>
>>>>
>>>> On 3/9/09 10:29 AM, "Bogdan-Andrei Iancu" <[hidden email]> wrote:
>>>>
>>>>  
>>>>      
>>>>> Hi Jeff,
>>>>>
>>>>> Thank you for the report - there was a bug in the new code (when
>>>>> create_dialog() was added), but now it is fixed on SVN.
>>>>>
>>>>> Please update and test again with your initial configuration (see the
>>>>> email I sent to Brett).
>>>>>
>>>>> Regards,
>>>>> Bogdan
>>>>>
>>>>> Jeff Pyle wrote:
>>>>>    
>>>>>        
>>>>>> Hello,
>>>>>>
>>>>>> I'm configuring Opensips' dialog module to keep count of the number of
>>>>>> calls
>>>>>> I have on each outbound PSTN carrier.  Here's my thinking:
>>>>>>
>>>>>> In request route:
>>>>>> - create_dialog() on new INVITE
>>>>>> - select carrier
>>>>>> - set_dlg_profile() to assign to proper profile with this carrier's value
>>>>>>
>>>>>> In failure route:
>>>>>> - unset_dlg_profile() to remove from profile, since it failed
>>>>>> - send to original request route to select next carrier, assign profile,
>>>>>> etc
>>>>>>
>>>>>> When I run this, the first set_dlg_profile() works properly, but the
>>>>>> unset_dlg_profile() in the failure route logs:
>>>>>>
>>>>>>  ERROR:dialog:unset_dlg_profile: dialog was not yet created - script
>>>>>> error
>>>>>>  ERROR:dialog:w_unset_dlg_profile: failed to unset profile
>>>>>>
>>>>>> All subsequent set/unset_dlg_profile give the same error.  Does the
>>>>>> dialog
>>>>>> somehow get destroyed when the failure_route is hit?  Is it necessary to
>>>>>> create_dialog() each time the failure_route is hit by sending it back
>>>>>> around
>>>>>> to a request route?
>>>>>>
>>>>>>
>>>>>> Thanks,
>>>>>> Jeff
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> 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