[SR-Users] Making dialog module work for me !!

Daniel-Constantin Mierla miconda at gmail.com
Tue Jun 12 11:36:43 CEST 2012


Hello,

On 6/7/12 1:34 PM, SamyGo wrote:
> Hi,
>
> sure, I'll give that debug messages a try tonight, Also I was thinking 
> of alternative approach and like you said, you are using htable. If 
> I've to use that htable entry manually how do I make sure that any 
> call data gets only deleted/erased after the call hangsup !? i.e I 
> don't want the htable entry to get expired and removed automatically 
> for a call length greater than 3 hours !!

the call ends when the BYE is coming through, so at that time you can 
delete from htable -- if the BYE is missing, then the htable auto-expire 
will clean it (like dialog auto-expires will do it for dlg case).

Just as side note, in 3.3.0, dialog module exports events routes 
executed when a call is started or ended, so you can do easier 
operations related to this events (e.g., no matter dialog is ended by a 
bye or timeout, you will get a specific event route executed), see:
   * http://kamailio.org/docs/modules/3.3.x/modules_k/dialog.html#id2556156

Cheers,
Daniel
>
> Thanks alot,
> Sammy
>
>
> On Thu, Jun 7, 2012 at 4:17 PM, Daniel-Constantin Mierla 
> <miconda at gmail.com <mailto:miconda at gmail.com>> wrote:
>
>     Hello,
>
>     do you get any hints about what happens if you run with debug=3?
>     When dialog is deleted from database, is any other query sent to
>     delete the dialog vars? This features was not used by me so far,
>     still relying on htable for my needs of such cases.
>
>     You can send the logs here for troubleshooting.
>
>     Cheers,
>     Daniel
>
>
>     On 6/6/12 6:45 PM, SamyGo wrote:
>>     Hi Sir,
>>     I've used the funcation as you informed. /$dlg_var(incall) = $fU;
>>     / It do insert my desired value into the dialog_var table but it
>>     don't gets deleted on call hangup !
>>
>>     I'm executing this code in my ON_REPLY route:
>>
>>     onreply_route[REPLY_ONE] {
>>     xdbg("incoming reply\n");
>>     if(is_method("BYE"))
>>             {
>>           unset_dlg_profile("incall","$fU");
>>           dlg_resetflag("4");
>>             }
>>     ....
>>
>>
>>     Still I can't seem to erase the values :(
>>
>>     Please suggest.
>>
>>     Best Regards,
>>     Sammy G.
>>
>>
>>     On Mon, Jun 4, 2012 at 12:41 PM, SamyGo <govoiper at gmail.com
>>     <mailto:govoiper at gmail.com>> wrote:
>>
>>         Thanks,
>>
>>         The reason why I didn't scroll down to it was because it was
>>         not listed under the functions list. Thanks for this. I'll
>>         give it a try.
>>         Next question is, will the values stored in this dialog_vars
>>         be matched if I execute the function
>>         /is_in_profile("my-profile") ?/
>>
>>         The problem with the alternative approach ,what I think,
>>         could be that I'd have to make sure that the required KVPs
>>         are stored in my hashtable for the length of the call active.
>>         I'd definitely not want my configurations file to behave
>>         abnormally if the hastable entry value gets expired meanwhile
>>         the corresponding call is still active.
>>
>>         Also Sir, I posted a previous email regarding the values not
>>         getting expired from "dialog" table even after the BYE !
>>
>>         Thanks again,
>>         Regards,
>>         Sammy G.
>>
>>
>>         On Mon, Jun 4, 2012 at 12:02 PM, Daniel-Constantin Mierla
>>         <miconda at gmail.com <mailto:miconda at gmail.com>> wrote:
>>
>>             Hello,
>>
>>             to store in a value in a dialog_var record, you have to
>>             set a PV for it:
>>
>>             http://kamailio.org/docs/modules/stable/modules_k/dialog.html#id2555403
>>
>>             Alternative, you can use hashtable with a key composed
>>             from dialog id (or callid) and some other string to
>>             identify your value.
>>
>>             Cheers,
>>             Daniel
>>
>>
>>             On 6/2/12 9:47 AM, SamyGo wrote:
>>>             Hello
>>>
>>>
>>>             I've two problems regarding dialog module- used for
>>>             profiling users that are in-a-call.
>>>
>>>             My topology is quiet simple.
>>>
>>>
>>>             SIP-USER-71141---->Kamailio------------->Asterisk[AGI]||
>>>             CALLEE<-----------------Kamailio<--------------------------------||
>>>
>>>
>>>             1- I wish to store my custom SIP header value in profiles.
>>>
>>>             I'm having trouble in figuring out on how to use
>>>             Dialog_vars table in my kamailio server. I'm using
>>>             dialog module to profile SIP users that are in call or
>>>             making a call. It works well and the dialog maintains an
>>>             entry when the call is established. Now, the difficult
>>>             part is that I want my custom header to be inserted into
>>>             either dialog table or dialog_vars table such that when
>>>             I do a query "*is_in_profile("$avp(my_value)")*" it
>>>             returns me a result.
>>>
>>>
>>>             2- Alternative to 1, I can log A,B leg separately but it
>>>             doesn't erase all data on call hangup.
>>>
>>>             Asterisk AGI changes the caller-id of SIP-USERA such
>>>             that if it was 71141 it would be something like "007" on
>>>             its way out to destination via kamailio. Now, at this
>>>             point in kamailio when the call is answered by
>>>             destination the dialog module saves the call data with
>>>             values corresponding to "007" and not "71141".
>>>             I have to disable the "dialog", "detect_spirals" in
>>>             order to count this one call as two separate entities
>>>             BUT problem occurs when on hangup the B-Leg gets erased
>>>             from the table but the A-leg remains in DB for as long
>>>             as  infinity.
>>>
>>>             Please help me in this.
>>>             Let me know if more details are required from me.
>>>
>>>             Regards,
>>>             Sammy G.
>>>
>>>
>>>             _______________________________________________
>>>             SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
>>>             sr-users at lists.sip-router.org  <mailto:sr-users at lists.sip-router.org>
>>>             http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
>>
>>             -- 
>>             Daniel-Constantin Mierla -http://www.asipto.com
>>             http://twitter.com/#!/miconda  <http://twitter.com/#%21/miconda>  -http://www.linkedin.com/in/miconda
>>             Kamailio Advanced Training, Seattle, USA, Sep 23-26, 2012 -http://asipto.com/u/katu
>>             Kamailio Practical Workshop, Netherlands, Sep 10-12, 2012 -http://asipto.com/u/kpw
>>
>>
>>
>>
>>
>
>     -- 
>     Daniel-Constantin Mierla -http://www.asipto.com
>     http://twitter.com/#!/miconda  <http://twitter.com/#%21/miconda>  -http://www.linkedin.com/in/miconda
>     Kamailio Advanced Training, Seattle, USA, Sep 23-26, 2012 -http://asipto.com/u/katu
>     Kamailio Practical Workshop, Netherlands, Sep 10-12, 2012 -http://asipto.com/u/kpw
>
>
>
>

-- 
Daniel-Constantin Mierla - http://www.asipto.com
http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda
Kamailio Advanced Training, Seattle, USA, Sep 23-26, 2012 - http://asipto.com/u/katu
Kamailio Practical Workshop, Netherlands, Sep 10-12, 2012 - http://asipto.com/u/kpw



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20120612/01cc1d29/attachment-0001.htm>


More information about the sr-users mailing list