[SR-Users] t_reply in failure route with dialog module

Daniel-Constantin Mierla miconda at gmail.com
Fri Nov 15 10:46:44 CET 2013


Hello,

can you try attached patch?

Let me know if all goes fine and I will commit it to the repository.

Cheers,
Daniel

On 11/15/13 10:25 AM, Efelin Novak wrote:
> Hi,
>
> when I use t_reply("505", "Error"); in my failure route, the response 
> is not forwarded and following is written into a log:
>
> kamailio[26216]: WARNING: tm [t_lookup.c:1559]: t_unref(): WARNING: 
> script writer didn't release transaction
>
> plus next line is written exactly 416000 times into a log afterwards:
>
> kamailio[32685]: CRITICAL: dialog [dlg_hash.c:794]: 
> log_next_state_dlg(): bogus event 4 in state 5 for dlg 0xb4af6588 
> [2575:7017] with clid '121d44f0-6555f4c8' and tags 'd12546d053aadc68o2' ''
>
> My point is to change the incoming code from users and append a Q.850 
> reason code.
> Is there any other way how to do this or a way how to fix this?
> I'm using Kamilio 4.0.4 on Debian 7.1
>
>
> The code is as follows:
> failure_route[MANAGE_FAILURE]
> {
>         if (t_is_canceled()) {
>                 exit;
>         }
>         if($T_reply_code == 408 && isflagset(10))
>         {
>                 xlog("Ringing timeout");
>                 append_to_reply("Reason: Q.850;cause=28\r\n");
>                 t_reply("505", "Error");
>         }
> }
>
>
> _______________________________________________
> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
> 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://www.linkedin.com/in/miconda
Kamailio Advanced Trainings - Berlin, Nov 25-28
   - more details about Kamailio trainings at http://www.asipto.com -

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20131115/0122a100/attachment.html>
-------------- next part --------------
diff --git a/modules/dialog/dlg_hash.c b/modules/dialog/dlg_hash.c
index bba619a..32365cb 100644
--- a/modules/dialog/dlg_hash.c
+++ b/modules/dialog/dlg_hash.c
@@ -858,6 +858,8 @@ void next_state_dlg(dlg_cell_t *dlg, int event,
 					dlg->state = DLG_STATE_DELETED;
 					*unref = 1;
 					break;
+				case DLG_STATE_DELETED:
+					break;
 				default:
 					log_next_state_dlg(event, dlg);
 			}


More information about the sr-users mailing list