Hello,
Kamailio version: 3.1.5
I have been trying to use presence for Event:Dialog. I have used PUA_Dialoginfo module to accomplish this task. The PUA_dialoginfo module states that if "override_lifetime" is not used, the value of the expires is taken from dialog module. I have tried the module without the "override_lifetime" which did not create the dialog in the presentity.
When used debug, I did see the xml being generated but finds the dialog "expires=0" and deletes the xml(please find the log below).
But when "override_lifetime" is set, the dialog in the presentity table is set until. But this has a problem, modparam("pua_dialoginfo", "override_lifetime", 300)
1. if a call is still going on more than the override_lifetime the presentity is deleted.
2. the presentity information is available until the "override_lifetime" even after the call is hung-up.
How do I get this module working without the "override_lifetime" being used.
The Log: Oct 21 12:12:46 SIPTest /usr/local/sbin/kamailio[3289]: DEBUG: pua_dialoginfo [dialog_publish.c:242]: new_body:#012<?xml version="1.0"?>#012<dialog-info xmlns="urn:ietf:params:xml:ns:dialog-info" version="0" state="full" entity="sip:user@mydemo.com">#012 <dialog id="112014dff048e71e" call-id="112014dff048e71e" direction="initiator">#012 <state>Trying</state>#012 <remote>#012 <identity>sip:user01@mydemo.com</identity>#012 <target uri="sip:user01@mydemo.com"/>#012 </remote>#012 <local>#012 <identity>sip:user@mydemo.com</identity>#012 <target uri="sip:user@mydemo.com"/>#012 </local>#012 </dialog>#012</dialog-info>#012 Oct 21 12:12:46 SIPTest /usr/local/sbin/kamailio[3288]: DEBUG: <core> [db_res.c:81]: freeing 1 columns Oct 21 12:12:46 SIPTest /usr/local/sbin/kamailio[3289]: DEBUG: pua_dialoginfo [dialog_publish.c:290]: publish uri= sip:user@mydemo.com Oct 21 12:12:46 SIPTest /usr/local/sbin/kamailio[3288]: DEBUG: <core> [db_res.c:85]: freeing RES_NAMES[0] at 0x8314aa4 Oct 21 12:12:46 SIPTest /usr/local/sbin/kamailio[3289]: <core> [mem/q_malloc.c:366]: qm_malloc(0x829bee0, 756) called from pua_dialoginfo: dialog_publish.c: dialog_publish(302) Oct 21 12:12:46 SIPTest /usr/local/sbin/kamailio[3288]: <core> [mem/q_malloc.c:428]: qm_free(0x829bee0, 0x8314aa4), called from <core>: db_res.c: db_free_columns(86) Oct 21 12:12:46 SIPTest /usr/local/sbin/kamailio[3289]: <core> [mem/q_malloc.c:406]: qm_malloc(0x829bee0, 756) returns address 0x82e84bc frag. 0x82e84a4 (size=900) on 1 -th hit Oct 21 12:12:46 SIPTest /usr/local/sbin/kamailio[3288]: <core> [mem/q_malloc.c:450]: qm_free: freeing frag. 0x8314a8c alloc'ed from db_mysql: km_res.c: db_mysql_get_columns(78) Oct 21 12:12:46 SIPTest /usr/local/sbin/kamailio[3289]: DEBUG: pua_dialoginfo [dialog_publish.c:51]: publ: Oct 21 12:12:46 SIPTest /usr/local/sbin/kamailio[3288]: DEBUG: <core> [db_res.c:94]: freeing result names at 0x8318650 Oct 21 12:12:46 SIPTest /usr/local/sbin/kamailio[3289]: DEBUG: pua_dialoginfo [dialog_publish.c:52]: uri= sip:user@mydemo.com Oct 21 12:12:46 SIPTest /usr/local/sbin/kamailio[3288]: <core> [mem/q_malloc.c:428]: qm_free(0x829bee0, 0x8318650), called from <core>: db_res.c: db_free_columns(95) Oct 21 12:12:46 SIPTest /usr/local/sbin/kamailio[3289]: DEBUG: pua_dialoginfo [dialog_publish.c:53]: id= DIALOG_PUBLISH.112014dff048e71e Oct 21 12:12:46 SIPTest /usr/local/sbin/kamailio[3288]: <core> [mem/q_malloc.c:450]: qm_free: freeing frag. 0x8318638 alloc'ed from <core>: db_res.c: db_allocate_columns(148) Oct 21 12:12:46 SIPTest /usr/local/sbin/kamailio[3289]: DEBUG: pua_dialoginfo [dialog_publish.c:54]: expires= 0 Oct 21 12:12:46 SIPTest /usr/local/sbin/kamailio[3288]: DEBUG: <core> [db_res.c:99]: freeing result types at 0x8318684 Oct 21 12:12:46 SIPTest /usr/local/sbin/kamailio[3289]: DEBUG: pua [send_publish.c:403]: pres_uri=sip:user@mydemo.com Oct 21 12:12:46 SIPTest /usr/local/sbin/kamailio[3288]: <core> [mem/q_malloc.c:428]: qm_free(0x829bee0, 0x8318684), called from <core>: db_res.c: db_free_columns(100) Oct 21 12:12:46 SIPTest /usr/local/sbin/kamailio[3289]: DEBUG: pua [hash.c:121]: core_hash= 504 Oct 21 12:12:46 SIPTest /usr/local/sbin/kamailio[3288]: <core> [mem/q_malloc.c:450]: qm_free: freeing frag. 0x831866c alloc'ed from <core>: db_res.c: db_allocate_columns(157) Oct 21 12:12:46 SIPTest /usr/local/sbin/kamailio[3289]: DEBUG: pua [hash.c:171]: record not found Oct 21 12:12:46 SIPTest /usr/local/sbin/kamailio[3288]: DEBUG: <core> [db_res.c:54]: freeing 1 rows Oct 21 12:12:46 SIPTest /usr/local/sbin/kamailio[3289]: DEBUG: pua [send_publish.c:444]: insert type Oct 21 12:12:46 SIPTest /usr/local/sbin/kamailio[3288]: DEBUG: <core> [db_row.c:97]: freeing row values at 0x8314b14 Oct 21 12:12:46 SIPTest /usr/local/sbin/kamailio[3289]: DEBUG: pua [send_publish.c:448]: UPDATE_TYPE and no record found Oct 21 12:12:46 SIPTest /usr/local/sbin/kamailio[3288]: <core> [mem/q_malloc.c:428]: qm_free(0x829bee0, 0x8314b14), called from <core>: db_row.c: db_free_row(98) Oct 21 12:12:46 SIPTest /usr/local/sbin/kamailio[3289]: DEBUG: pua [send_publish.c:454]: request for a publish with expires 0 and no record found Oct 21 12:12:46 SIPTest /usr/local/sbin/kamailio[3288]: <core> [mem/q_malloc.c:450]: qm_free: freeing frag. 0x8314afc alloc'ed from <core>: db_row.c: db_allocate_row(114) Oct 21 12:12:46 SIPTest /usr/local/sbin/kamailio[3289]: <core> [mem/q_malloc.c:428]: qm_free(0x829bee0, 0x82e84bc), called from pua_dialoginfo: dialog_publish.c: dialog_publish(357) Oct 21 12:12:46 SIPTest /usr/local/sbin/kamailio[3288]: DEBUG: <core> [db_res.c:62]: freeing rows at 0x8314adc
Regards Gnaneshwar
Hello Gnaneshwar,
Am 21.10.2011 um 22:57 schrieb Gnaneshwar Gatla:
Kamailio version: 3.1.5
I have been trying to use presence for Event:Dialog. I have used PUA_Dialoginfo module to accomplish this task. The PUA_dialoginfo module states that if “override_lifetime” is not used, the value of the expires is taken from dialog module. I have tried the module without the “override_lifetime” which did not create the dialog in the presentity.
When used debug, I did see the xml being generated but finds the dialog “expires=0” and deletes the xml(please find the log below).
How do I get this module working without the “override_lifetime” being used.
The problem seems to stem from the dialog module: Apparently, all dialog parameters (including lifetime) are set during the creation of a dialog only after create callbacks have been executed. This is why a lifetime of zero is always available to callback functions, including the one from pua_dialoginfo, no matter what the configured lifetime is.
I have created a little patch for 3.1 that changes the dialog module such that dialog variables are set prior to calling creation callbacks. It's attached in this email -- would you mind giving it a try and see if it helps? In order to apply the patch, all you need to do is check out the 3.1 branch (unless you already did so) doing
git clone --depth 1 -b 3.1 git://git.sip-router.org/sip-router sip-router
and apply the patch inside that directory like this:
cd sip-router patch -p 1 < /patch/to/patch
Now recompile and run as usual. Please let me know if things work now.
Thanks a lot and
cheers,
--Timo
Hello Timo,
I have installed the patch to the kamailio source and compiled it. Thing is it does work fine to create a presentity with the obtaining the dialog-expires from the session created. It drops down to the one last problem.
The presentity information is not deleted when the user hangs-up even before the "dialog-expires". This presence is maintained until the "Exipres" timer, for my x-lite client that's 7200secs.
I have attached the log about this scenario.
Regards Gnani
-----Original Message----- From: Timo Reimann [mailto:sr@foo-lounge.de] Sent: Saturday, October 22, 2011 2:12 AM To: SIP Router - Kamailio (OpenSER) and SIP Express Router (SER) - Users Mailing List Cc: Cody Herzog; Gnaneshwar Gatla Subject: Re: [SR-Users] Presence Dialog not being created
Hello Gnaneshwar,
Am 21.10.2011 um 22:57 schrieb Gnaneshwar Gatla:
Kamailio version: 3.1.5
I have been trying to use presence for Event:Dialog. I have used PUA_Dialoginfo module to accomplish this task. The PUA_dialoginfo module states that if "override_lifetime" is not used, the value of the expires is taken from dialog module. I have tried the module without the "override_lifetime" which did not create the dialog in the presentity.
When used debug, I did see the xml being generated but finds the dialog "expires=0" and deletes the xml(please find the log below).
How do I get this module working without the "override_lifetime" being used.
The problem seems to stem from the dialog module: Apparently, all dialog parameters (including lifetime) are set during the creation of a dialog only after create callbacks have been executed. This is why a lifetime of zero is always available to callback functions, including the one from pua_dialoginfo, no matter what the configured lifetime is.
I have created a little patch for 3.1 that changes the dialog module such that dialog variables are set prior to calling creation callbacks. It's attached in this email -- would you mind giving it a try and see if it helps? In order to apply the patch, all you need to do is check out the 3.1 branch (unless you already did so) doing
git clone --depth 1 -b 3.1 git://git.sip-router.org/sip-router sip-router
and apply the patch inside that directory like this:
cd sip-router patch -p 1 < /patch/to/patch
Now recompile and run as usual. Please let me know if things work now.
Thanks a lot and
cheers,
--Timo
Hey Gnaneshwar,
sorry for not replying for such a long time. Real life has been keeping me busy. :)
Am 25.10.2011 um 03:04 schrieb Gnaneshwar Gatla:
I have installed the patch to the kamailio source and compiled it. Thing is it does work fine to create a presentity with the obtaining the dialog-expires from the session created. It drops down to the one last problem.
The presentity information is not deleted when the user hangs-up even before the "dialog-expires". This presence is maintained until the "Exipres" timer, for my x-lite client that's 7200secs.
I have attached the log about this scenario.
Without knowing too much about pua_dialoginfo, I can tell from your logs that no dialog termination was observed, therefore no "terminated" state was published. Are you possibly not running completely stateful dialogs, e.g., replying statelessly to INVITE requests? The dialog module cannot handle such cases yet, you need to be stateful all the times.
Cheers,
--Timo
-----Original Message----- From: Timo Reimann [mailto:sr@foo-lounge.de] Sent: Saturday, October 22, 2011 2:12 AM To: SIP Router - Kamailio (OpenSER) and SIP Express Router (SER) - Users Mailing List Cc: Cody Herzog; Gnaneshwar Gatla Subject: Re: [SR-Users] Presence Dialog not being created
Hello Gnaneshwar,
Am 21.10.2011 um 22:57 schrieb Gnaneshwar Gatla:
Kamailio version: 3.1.5
I have been trying to use presence for Event:Dialog. I have used PUA_Dialoginfo module to accomplish this task. The PUA_dialoginfo module states that if "override_lifetime" is not used, the value of the expires is taken from dialog module. I have tried the module without the "override_lifetime" which did not create the dialog in the presentity.
When used debug, I did see the xml being generated but finds the dialog "expires=0" and deletes the xml(please find the log below).
How do I get this module working without the "override_lifetime" being used.
The problem seems to stem from the dialog module: Apparently, all dialog parameters (including lifetime) are set during the creation of a dialog only after create callbacks have been executed. This is why a lifetime of zero is always available to callback functions, including the one from pua_dialoginfo, no matter what the configured lifetime is.
I have created a little patch for 3.1 that changes the dialog module such that dialog variables are set prior to calling creation callbacks. It's attached in this email -- would you mind giving it a try and see if it helps? In order to apply the patch, all you need to do is check out the 3.1 branch (unless you already did so) doing
git clone --depth 1 -b 3.1 git://git.sip-router.org/sip-router sip-router
and apply the patch inside that directory like this:
cd sip-router patch -p 1 < /patch/to/patch
Now recompile and run as usual. Please let me know if things work now.
Thanks a lot and
cheers,
--Timo
Hey Timo, I had this resolved. Problem was "record_route_preset" was deleting the dialog "did" cookie. Making the Kamailio harder to sense the end of the dialog. And the pua_dialog did not update the presentity table with the state information.
I had disabled the use of "did" param in the config. To fix this issue.
Regards Gnaneshwar
-----Original Message----- From: Timo Reimann [mailto:sr@foo-lounge.de] Sent: Tuesday, November 01, 2011 4:40 PM To: Gnaneshwar Gatla Cc: SIP Router - Kamailio (OpenSER) and SIP Express Router (SER) - Users Mailing List; Cody Herzog Subject: Re: [SR-Users] Presence Dialog not being created
Hey Gnaneshwar,
sorry for not replying for such a long time. Real life has been keeping me busy. :)
Am 25.10.2011 um 03:04 schrieb Gnaneshwar Gatla:
I have installed the patch to the kamailio source and compiled it. Thing is it does work fine to create a presentity with the obtaining the dialog-expires from the session created. It drops down to the one last problem.
The presentity information is not deleted when the user hangs-up even before the "dialog-expires". This presence is maintained until the "Exipres" timer, for my x-lite client that's 7200secs.
I have attached the log about this scenario.
Without knowing too much about pua_dialoginfo, I can tell from your logs that no dialog termination was observed, therefore no "terminated" state was published. Are you possibly not running completely stateful dialogs, e.g., replying statelessly to INVITE requests? The dialog module cannot handle such cases yet, you need to be stateful all the times.
Cheers,
--Timo
-----Original Message----- From: Timo Reimann [mailto:sr@foo-lounge.de] Sent: Saturday, October 22, 2011 2:12 AM To: SIP Router - Kamailio (OpenSER) and SIP Express Router (SER) - Users Mailing List Cc: Cody Herzog; Gnaneshwar Gatla Subject: Re: [SR-Users] Presence Dialog not being created
Hello Gnaneshwar,
Am 21.10.2011 um 22:57 schrieb Gnaneshwar Gatla:
Kamailio version: 3.1.5
I have been trying to use presence for Event:Dialog. I have used PUA_Dialoginfo module to accomplish this task. The PUA_dialoginfo module states that if "override_lifetime" is not used, the value of the expires is taken from dialog module. I have tried the module without the "override_lifetime" which did not create the dialog in the presentity.
When used debug, I did see the xml being generated but finds the dialog "expires=0" and deletes the xml(please find the log below).
How do I get this module working without the "override_lifetime" being used.
The problem seems to stem from the dialog module: Apparently, all dialog parameters (including lifetime) are set during the creation of a dialog only after create callbacks have been executed. This is why a lifetime of zero is always available to callback functions, including the one from pua_dialoginfo, no matter what the configured lifetime is.
I have created a little patch for 3.1 that changes the dialog module such that dialog variables are set prior to calling creation callbacks. It's attached in this email -- would you mind giving it a try and see if it helps? In order to apply the patch, all you need to do is check out the 3.1 branch (unless you already did so) doing
git clone --depth 1 -b 3.1 git://git.sip-router.org/sip-router sip-router
and apply the patch inside that directory like this:
cd sip-router patch -p 1 < /patch/to/patch
Now recompile and run as usual. Please let me know if things work now.
Thanks a lot and
cheers,
--Timo