Hello,
I'm having some trouble with what I think is the dialog module.
I've got Kamailio 5.5.4 running well for some time. Recently I added Asterisk to the mix and have come across an issue.
Call to Kamailio. Kamailio sends it to Asterisk. Asterisk may decide to "forward" the call. To do this it will place a new outbound call through Kamailio. From the user perspective, this works absolutely fine (invite, ringing, ok, bye). The acc module handles it fine also.
However dialog does not, and the events for ok and bye do not fire on the original call. They do fire for the forwarded call.
I've added some logging output to try to isolate the problem, but I'm no further ahead. Here's what I have. Any suggestions?
** Call initiated **
INFO: <script>: onreply_route[MANAGE_REPLY] branch [0] rm=INVITE rs=100 ru=<null> tu=sip:destination@endpoint DLG_status=<null> dlg-h-id=3360 INFO: <script>: onreply_route[MANAGE_REPLY] branch [0] rm=INVITE rs=100 ru=<null> tu=sip:fwddest@0.0.0.1:5060 DLG_status=<null> dlg-h-id=12036 INFO: <script>: onreply_route[MANAGE_REPLY] branch [0] rm=INVITE rs=183 ru=<null> tu=sip:fwddest@0.0.0.1:5060 DLG_status=<null> dlg-h-id=12036 INFO: <script>: onreply_route[MANAGE_REPLY] branch [0] rm=INVITE rs=183 ru=<null> tu=sip:destination@endpoint DLG_status=<null> dlg-h-id=3360 INFO: <script>: onreply_route[MANAGE_REPLY] branch [0] rm=INVITE rs=200 ru=<null> tu=sip:fwddest@0.0.0.1:5060 DLG_status=<null> dlg-h-id=12036 CRITICAL: dialog [dlg_timer.c:200]: update_dlg_timer(): Trying to update a bogus dlg tl=0x7fa0494006e8 tl->next=(nil) tl->prev=(nil) ERROR: dialog [dlg_hash.c:1329]: update_dlg_timeout(): failed to update dialog lifetime CRITICAL: dialog [dlg_timer.c:200]: update_dlg_timer(): Trying to update a bogus dlg tl=0x7fa0494006e8 tl->next=(nil) tl->prev=(nil) ERROR: dialog [dlg_hash.c:1329]: update_dlg_timeout(): failed to update dialog lifetime ERROR: dialog [dlg_profile.c:1028]: dlg_set_timeout_by_profile(): Unable to set timeout on 3306:12036 NOTICE: acc [acc.c:270]: acc_log_request(): ACC: transaction answered: timestamp=1648611824;time_unix=1648611824.346;method=INVITE;from_tag=as292200a1;to_tag=as75834dc4;call_id=7cef233547dca0ac7882ce5249b3b54c;code=200;reason=OK INFO: <script>: onreply_route[MANAGE_REPLY] branch [0] rm=INVITE rs=200 ru=<null> tu=sip:destination@endpoint DLG_status=<null> dlg-h-id=<null> NOTICE: acc [acc.c:270]: acc_log_request(): ACC: transaction answered: timestamp=1648611824;time_unix=1648611824.354;method=INVITE;from_tag=as730369e7;to_tag=as3b06b3e2;call_id=53bad4f0034b61a5745163d82daef402;code=200;reason=OK INFO: <script>: onreply_route[MANAGE_REPLY] branch [0] rm=INVITE rs=200 ru=<null> tu=sip:destination@endpoint DLG_status=<null> dlg-h-id=<null> WARNING: dialog [dlg_handlers.c:1328]: dlg_onroute(): unable to find dialog for ACK with route param '161.02d' [353:3360] and call-id '53bad4f0034b61a5745163d82daef402' WARNING: dialog [dlg_handlers.c:1328]: dlg_onroute(): unable to find dialog for ACK with route param '161.02d' [353:3360] and call-id '53bad4f0034b61a5745163d82daef402'
** The call is answered and endpoints can talk to each other ** ** Now the original caller hangs up **
WARNING: dialog [dlg_handlers.c:1328]: dlg_onroute(): unable to find dialog for BYE with route param '161.02d' [353:3360] and call-id '53bad4f0034b61a5745163d82daef402' NOTICE: acc [acc.c:270]: acc_log_request(): ACC: transaction answered: timestamp=1648611831;time_unix=1648611831.933;method=BYE;from_tag=as730369e7;to_tag=as3b06b3e2;call_id=53bad4f0034b61a5745163d82daef402;code=200;reason=OK INFO: <script>: onreply_route[MANAGE_REPLY] branch [0] rm=INVITE rs=100 ru=<null> tu=sip:fwddest@0.0.0.1:5060 DLG_status=<null> dlg-h-id=12036 INFO: <script>: onreply_route[MANAGE_REPLY] branch [0] rm=INVITE rs=200 ru=<null> tu=sip:fwddest@0.0.0.1:5060 DLG_status=<null> dlg-h-id=12036 ERROR: <script>: got result for bye = Bye!; DLG_lifetime = 8 NOTICE: acc [acc.c:270]: acc_log_request(): ACC: transaction answered: timestamp=1648611832;time_unix=1648611832.115;method=BYE;from_tag=as292200a1;to_tag=as75834dc4;call_id=7cef233547dca0ac7882ce5249b3b54c;code=200;reason=OK ERROR: dialog [dlg_handlers.c:363]: dlg_terminated_confirmed(): failed to get dialog from params!
** Everything ends cleanly on the other SIP endpoints **
What can I do from here to try to isolate this further?
Thanks,