Hi all
Based on my problem reported with subject "error handlinghttp://sip-router.1086192.n5.nabble.com/error-handling-tp123240.html" I have some other questions. I think it is a conceptual question - and I do not see any solution.
I would like to handle Kamailio with carrierroute / carrierfailureroute module different errors. Like 404, 403, busy - or whatever sip error occurs. Some of them need to be sent to a freeswitch playing an announcement (like "this number is blocked", "no more credit", ...).
So if an error occur (lets say 403) then the call is routed by carrierfailurroute to fresswitch playing message for 403.
If I am listening the whole message - I get back error 403 at the end and the call is logged in missed calls as error 403 sent from the freeswitch - everything ok. If I cancel the listening by hanging up - 487 is stored in missed_calls - cause I terminated the call before getting error 403 back from freeswitch. ==> so I loose this important information
How can I get back error 403 - play an announcement and make sure, it is logged as 403 in database?
Thanks for helping ... Oli
I think it is a conceptual question indeed. You "abuse" the 403 error in some table (actually "missed_calls" is for missed calls, not for rejected calls) to log/account a rejected call.
Make it more explicit. If you want to track rejected calls, make a dedicated table and insert an record into this table at the moment the call is redirected to the announcement (not afterwards). You can do this by some manual SQL query, or use acc_db_request(comment, table) [1] and manually force the accounting in this dedicated table.
regards klaus
[1] http://kamailio.org/docs/modules/4.0.x/modules/acc.html#idp1687632
On 26.11.2013 13:36, Oliver Roth wrote:
Hi all
Based on my problem reported with subject „error handling http://sip-router.1086192.n5.nabble.com/error-handling-tp123240.html“ I have some other questions.
I think it is a conceptual question – and I do not see any solution.
I would like to handle Kamailio with carrierroute / carrierfailureroute module different errors.
Like 404, 403, busy – or whatever sip error occurs.
Some of them need to be sent to a freeswitch playing an announcement (like “this number is blocked”, “no more credit”, …).
So if an error occur (lets say 403) then the call is routed by carrierfailurroute to fresswitch playing message for 403.
If I am listening the whole message – I get back error 403 at the end and the call is logged in missed calls as error 403 sent from the freeswitch – everything ok.
If I cancel the listening by hanging up – 487 is stored in missed_calls – cause I terminated the call before getting error 403 back from freeswitch. èso I loose this important information
How can I get back error 403 – play an announcement and make sure, it is logged as 403 in database?
Thanks for helping …
Oli
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
You might want to use the db_extra Parameter in the acc-Module: http://kamailio.org/docs/modules/4.0.x/modules/acc.html#idp1653488
modparam("acc", "db_extra", "real_error=$avp(s:real_error)") (requires a real_error column in the acc-Table)
And in your failure route you could do: $avp(s:real_error) = $T_reply_code; // $T_reply_code should be the error-Code from the Transaction, see // http://www.kamailio.org/wiki/cookbooks/devel/pseudovariables#t_reply_code
Then you should get that info in your acc-Data....
I never tested this, but it should work. We use something similar to store information about the Call-Forwardings....
Kind regards, Carsten
2013/11/27 Klaus Darilion klaus.mailinglists@pernau.at:
I think it is a conceptual question indeed. You "abuse" the 403 error in some table (actually "missed_calls" is for missed calls, not for rejected calls) to log/account a rejected call.
Make it more explicit. If you want to track rejected calls, make a dedicated table and insert an record into this table at the moment the call is redirected to the announcement (not afterwards). You can do this by some manual SQL query, or use acc_db_request(comment, table) [1] and manually force the accounting in this dedicated table.
regards klaus
[1] http://kamailio.org/docs/modules/4.0.x/modules/acc.html#idp1687632
On 26.11.2013 13:36, Oliver Roth wrote:
Hi all
Based on my problem reported with subject „error handling http://sip-router.1086192.n5.nabble.com/error-handling-tp123240.html“ I have some other questions.
I think it is a conceptual question – and I do not see any solution.
I would like to handle Kamailio with carrierroute / carrierfailureroute module different errors.
Like 404, 403, busy – or whatever sip error occurs.
Some of them need to be sent to a freeswitch playing an announcement (like “this number is blocked”, “no more credit”, …).
So if an error occur (lets say 403) then the call is routed by carrierfailurroute to fresswitch playing message for 403.
If I am listening the whole message – I get back error 403 at the end and the call is logged in missed calls as error 403 sent from the freeswitch – everything ok.
If I cancel the listening by hanging up – 487 is stored in missed_calls – cause I terminated the call before getting error 403 back from freeswitch. èso I loose this important information
How can I get back error 403 – play an announcement and make sure, it is logged as 403 in database?
Thanks for helping …
Oli
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users