Hi Bogdan, sorry for delay... I think I found the reason why my dialogs didn't get cleared correctly.
I had issues with some SIP phones including proxy auth. credentials in loose routed ACK and BYE messages (see "Contents of ACK in up-to-date RFC3261", http://lists.opensips.org/pipermail/users/2009-January/002639.html). Because I wanted to remove the credentials for upstream and avoid the annoying error message "ERROR:auth:consume_credentials: no authorized credentials found (error in scripts)", I included the following code snippet in my outbound route around the "consume_credentials()" function: if (is_present_hf("Proxy-Authorization")) { if (loose_route() && is_method("ACK|BYE")) { remove_hf("Proxy-Authorization"); } else { consume_credentials(); } } After commenting out my additions, the "ERROR:auth:consume_credentials: no authorized credentials found (error in scripts)" message reappeared, but all dialogs get cleared correctly and the error message from the dialog module disappeared. Maybe the "remove_hf()" function is the problem here? Regards, Robert -----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of Bogdan-Andrei Iancu Sent: Monday, March 09, 2009 2:08 PM To: [email protected] Cc: [email protected] Subject: Re: [OpenSIPS-Users] Restrict Simultaneous-Use Hi Robert, Please post the dialog module parameters and the SIP trace for the call with x-lite - I will check if xlite does something wrong in the signalling. Also please attach the full debug log (debug=6) from opensips (for the call). Thanks and regards, Bogdan Robert Borz wrote: > Hi Brett, > > after having a look at it with "opensipsctl fifo dlg_list" I can see, that > after the BYEs, the dialog gets still listed. The only value which > distinguishes the call during the dialog and after the dialog is the value of > the "timeout" attribute. > > If I exchange the X-Lite client by the snom soft-client, the dialog gets > correcntly destroyed and is not listed in the dialog list anymore after > hangup. > > Could you have a look at it using the free x-lite client from counterpath > (www.counpterpath.com) and verify my issue, please? Maybe it is not regarding > to my configuration but to the client... :-( > > > Regards, > Robert > > -----Original Message----- > From: [email protected] [mailto:[email protected]] > Sent: Friday, March 06, 2009 11:28 PM > To: 'Brett Nemeroff'; [email protected] > Cc: [email protected] > Subject: RE: [OpenSIPS-Users] Restrict Simultaneous-Use > > Hi Brett, > > no, didn't have a look at it, yet. Thanks for the hint, I'll do it. The BYE > is there... but after some traces via ngrep/tcpdump I wasn't sure if my > Asterisk (1.4) really sent included the did-information within the > record-route header in every case (depending if the caller ort he calle hangs > up the call). Nevertheless, I tested the different matching modes 0, 1 and 2 > - without any difference. > > Now I also tried downgrading opensips to 1.4.4 without success. Afterwards > upgraded asterisk to 1.6 (because I always wanted SST support) and doing the > same, without the create_dialog() function in OpenSIPS (as in your snippet) - > same result. I received warnings like: > > WARNING:dialog:dlg_onroute: unable to find dialog for BYE with route param > '3e9.031ba213' > > So I started thinking about my software-client for testing (X-Lite) is the > reason form y problems. So I used the software-phone from snom, which doesn't > show the same behaviour. So I exchanged the x-lite client by a grandstream > voip phone - again, the same. :-( > > I'm really confused, my configuration was working with the last release from > OpenSER, but there I wasn't using the dialog module. > > > Regards, > Robert > > > > ________________________________________ > From: [email protected] > [mailto:[email protected]] On Behalf Of Brett Nemeroff > Sent: Friday, March 06, 2009 11:12 PM > To: [email protected] > Cc: [email protected] > Subject: Re: [OpenSIPS-Users] Restrict Simultaneous-Use > > It was in regards to me loose routing problems I had.. but in my call traces, > I simply wasn't getting a BYE back from the carrier. > > Since I've gotten that resolved, my dialog count is nice and clean. nothing > left open for the dialog expiration timeout. Have you looked at the output of: > opensipsctl fifo dlg_list ? > > On Fri, Mar 6, 2009 at 10:21 AM, Robert Borz <[email protected]> wrote: > I'm sure not setting the profile twice. I wrapped the part by setting a flag > and now I additionally used the is_in_profile() method to preventing setting > the profile twice. > > Hmm, I've really no idea at the moment. > > Can you give me the subject of the thread you're meaning? Which mailing list? > > Thank you. > > > Robert. > > ________________________________________ > From: [email protected] [mailto:[email protected]] > Sent: Friday, March 06, 2009 4:10 PM > To: [email protected] > Cc: [email protected]; [email protected] > Subject: Re: [OpenSIPS-Users] Restrict Simultaneous-Use > > Is it possible that you are setting the profile more than once ever? if you > are, that could be the problem. I don't think anything prevents that from > happening, and if you added it twice, the destruction of the dialog would > only reduce the count by one, instead of two. I may be wrong here.. The times > I've had dialogs left open that couldn't get cleared, I had record-routing > problems (see list history!) or I was doing something silly with setting the > profiles > > BTW, I do this now. I'm not sure if it's even necessary. I'm using 1.4, so I > don't have a create_dialog() function.. > if (!is_in_profile("SRC","$si")) { > set_dlg_profile("SRC","$si"); > } > > Now, if I could pull avps from memory. that'd be sweet. :) I'm going to > upgrade when 1.5 is released and then we'll start with the memcache fun. :) > -BRett > > > > On Fri, Mar 6, 2009 at 9:04 AM, Robert Borz <[email protected]> wrote: > Hi Brett, > > thanks for the hints, but doesn't work for me. > The did information in the record route header and the BYEs are there. > I also tried the other two match modes, with no success. :-( > > Any idea? > > > Regards, > Robert > > ________________________________________ > From: [email protected] [mailto:[email protected]] > Sent: Friday, March 06, 2009 3:32 PM > To: [email protected] > Cc: [email protected]; [email protected] > Subject: Re: [OpenSIPS-Users] Restrict Simultaneous-Use > > Check to be sure you really get the BYE at the end of the call. > > Also take a look at the bye and see if the 'did=' is in there, if it's not > (ie: if the other end UAC removes it, which it really shouldn't) then you may > need to change your dialog match mode. See the dialog module docs for that. > > -Brett > > On Fri, Mar 6, 2009 at 7:25 AM, Robert Borz <[email protected]> wrote: > Hi Bogdan, > > now I'm currently using the svn head of opensips version 1.5. > > I succeeded in pushing the channel value from the radius server into opensips > by an SIP-AVP in the auth-reply. :-) > > But I've got problems with the dialog profiling. Maybe I'm missing something > here. At the moment I've got the following configuration for the dialog > module: > > ---------------------------------------------------------------------------- > loadmodule "dialog.so" > modparam("dialog", "dlg_flag", 4) > modparam("dialog", "profiles_with_value", "caller") > ---------------------------------------------------------------------------- > > > Following the link you told me I do the following in my invite-route after > radius_proxy_authorize(): > > ---------------------------------------------------------------------------- > if (create_dialog() && set_dlg_profile("caller", "$fu")) { > xlog("L_INFO", "created dialog/added profile"); > } > xlog("L_INFO", "SIP-AVP ===> $avp(s:channels)"); > > if (is_avp_set("$avp(s:channels)/n") && avp_check("$avp(s:channels)", > "gt/i:0")) { > get_profile_size("caller", "$fu", "$avp(s:active_channels)"); > xlog("L_INFO", "===> User has $avp(s:active_channels) active channels!"); > } > setflag(4); > ---------------------------------------------------------------------------- > > The log statements prints "===> User has 1 active channels!" when the first > invite comes in. But the number doesn't decrease when the dialog gets > finished. With the next invite (doesn't matter if the previous dialog is > alive), it prints " ===> User has 2 active channels!" and so forth. > > Any idea what's wrong here? > > > Regards, > Robert > > > -----Original Message----- > From: [email protected] [mailto:[email protected]] > Sent: Thursday, March 05, 2009 5:55 PM > To: [email protected] > Cc: [email protected] > Subject: Re: [OpenSIPS-Users] Restrict Simultaneous-Use > > Robert, > > if you do auth via RADIUS, you can push some AVPs in the reply: > > http://www.opensips.org/html/docs/modules/1.4.x/auth_radius.html#id227162 > > The 1.5.0 is plan to be release in 2 weeks from now, if no major bugs > are discovered :) > > Regards, > Bogdan > > Robert Borz wrote: > >> Hi Bogdan, >> >> thank you for this hint. I'll check it out. >> >> Yes, I also do auth over radius. Currently I've still OpenSER v1.3.2 >> installed on debian/lenny and it is working fine. >> >> Currently I'm thinking of updating to the latest OpenSIPS release. What's >> the current schedule for the first stable 1.5 release? >> >> >> Regards, >> Bogdan >> >> >> -----Original Message----- >> From: [email protected] >> [mailto:[email protected]] On Behalf Of Bogdan-Andrei Iancu >> Sent: Thursday, March 05, 2009 4:57 PM >> To: [email protected] >> Cc: [email protected] >> Subject: Re: [OpenSIPS-Users] Restrict Simultaneous-Use >> >> Hi Robert, >> >> Well, you can use the avp_radius module to load from a RADIUS server the >> number of maximum allowed calls: >> http://www.opensips.org/html/docs/modules/devel/avp_radius.html >> >> This is the most generic way to do it. >> >> Do you do auth via RADIUS also ? >> >> Regards, >> Bogdan >> >> Robert Borz wrote: >> >> >>> Hi Bogdan, >>> >>> thanks a lot. Looks really pretty with the example you showed. >>> >>> My problem is that, depending on the amount of concurrent calls a user can >>> do, the user belongs to a different group in radius. Imagine a user >>> belonging to the group 'pots' has a simultaneous call limit of 1, a user >>> belonging to the group 'isdn' has a limit of 2 concurrent calls... >>> >>> All rate information/customer attributes is/are stored in the radius and we >>> want to keep it like this. So I think I've to get the information about how >>> many calls the user can do out of the radius into SER to use the example. >>> Any idea how to do that? >>> >>> >>> Regards, >>> Robert >>> >>> -----Original Message----- >>> From: [email protected] [mailto:[email protected]] >>> Sent: Thursday, March 05, 2009 12:49 PM >>> To: [email protected] >>> Cc: [email protected] >>> Subject: Re: [OpenSIPS-Users] Restrict Simultaneous-Use >>> >>> Hi Robert, >>> >>> You do not need Radius for this. OpenSIPS can do this by itself. See a >>> nice tutorial on this topic: >>> http://www.opensips.org/index.php?n=Resources.DocsTutConcurrentCalls >>> >>> Regards, >>> Bogdan >>> >>> Robert Borz wrote: >>> >>> >>> >>>> Hi, >>>> >>>> currently I'm using a FreeRADIUS server for authentication and billing >>>> purposes. Now I want to restrict the count of simultaneous calls a user >>>> can do. For this I implemented it with the "Simultaneous-Use" check in >>>> FreeRADIUS and it works fine, for outgoing calls initiated from my >>>> customers. Just trying to initiate a second call when one is still up, the >>>> request is rejected (Proxy authorization fails for the new call). >>>> >>>> But incoming calls from the PSTN come in over an Asterisk machine. There's >>>> no proxy authorization for invites from the Asterisk, just a from_gw() >>>> check. So how I can restrict the amount of simultaneous calls per user for >>>> incoming _and_ outgoing calls? >>>> > > > > > > >>>> Any hint would be really appreciated... >>>> >>>> >>>> Regards, >>>> Robert >>>> >>>> >>>> _______________________________________________ >>>> Users mailing list >>>> [email protected] >>>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users >>>> >>>> >>>> >>>> >>>> >>> >>> >> _______________________________________________ >> Users mailing list >> [email protected] >> http://lists.opensips.org/cgi-bin/mailman/listinfo/users >> >> >> >> > > > _______________________________________________ > Users mailing list > [email protected] > http://lists.opensips.org/cgi-bin/mailman/listinfo/users > > > > > > _______________________________________________ > Users mailing list > [email protected] > http://lists.opensips.org/cgi-bin/mailman/listinfo/users > > _______________________________________________ Users mailing list [email protected] http://lists.opensips.org/cgi-bin/mailman/listinfo/users _______________________________________________ Users mailing list [email protected] http://lists.opensips.org/cgi-bin/mailman/listinfo/users
