Re: [OpenSIPS-Users] ACC module for rejected calls
Thanks I tried both sl_send_reply and send_reply, but I didn't see t_reply. That was it. On Mon, 3 Apr 2023 at 22:40, Daniel Zanutti wrote: > Hi Alberto > > You are correct, this is the line you need. > > I think you need a created transaction. Since you are responding in > stateless, you may be missing the cdr. > Try changing this and let me know if solves: > > sl_send_reply(488, "Not Acceptable Here"); -> t_reply(488, "Not > Acceptable Here"); > > Regards > > > > On Mon, Apr 3, 2023 at 6:09 PM Alberto wrote: > >> Hi, >> >> I'm trying to understand the ACC module, using this minimal configuration >> below. >> My question is: why is there no cdr created? >> I would have assumed that `do_accounting("log", "cdr|missed|failed");` >> always saves cdrs, but it doesn't when the call is rejected from inside the >> configuration script. >> Hope my question is clear. Thanks >> >> >> debug_mode=no >> >> log_level=3 >> xlog_level=3 >> log_stdout=yes >> log_stderror=yes >> log_facility=LOG_LOCAL0 >> >> auto_aliases=no >> >> server_signature=yes >> >> socket=udp:0.0.0.0:5060 >> socket=tcp:0.0.0.0:5060 >> >> tcp_connect_timeout=300 >> >> mpath="/usr/lib64/opensips/modules/" >> >> loadmodule "signaling.so" >> >> loadmodule "sl.so" >> >> loadmodule "tm.so" >> modparam("tm", "fr_inv_timeout", 120) >> modparam("tm", "fr_timeout", 30) >> modparam("tm", "onreply_avp_mode", 1) >> modparam("tm", "restart_fr_on_each_reply", 0) >> >> loadmodule "rr.so" >> modparam("rr", "append_fromtag", 1) >> >> loadmodule "acc.so" >> modparam("acc", "early_media", 1) >> modparam("acc", "report_cancels", 1) >> modparam("acc", "detect_direction", 1) >> >> loadmodule "dialog.so" >> modparam("dialog", "default_timeout", 14400) # 4 hours >> modparam("dialog", "dlg_match_mode", 1) >> modparam("dialog", "enable_stats", 0) >> modparam("dialog", "profiles_with_value", "caller") >> >> loadmodule "sipmsgops.so" >> >> loadmodule "proto_udp.so" >> loadmodule "proto_tcp.so" >> >> route { >> if (has_totag()) { >> if (loose_route()) { >> if ($DLG_status != NULL && !validate_dialog()) { >> exit; >> } >> } else { >> if (is_method("ACK")) { >> if (t_check_trans()) { >> t_relay(); >> } >> exit; >> } >> sl_send_reply(404, "Not Found"); >> exit; >> } >> t_relay(); >> exit; >> } >> t_check_trans(); >> if (is_myself($si)) { >> send_reply(406, "Not Acceptable"); >> exit; >> } >> if (is_method("INVITE")) { >> if (!create_dialog("B")) { >> send_reply(500, "Internal Server Error"); >> exit; >> } >> } >> if (loose_route()) { >> if (!is_method("ACK")) { >> sl_send_reply(403, "Preload Route denied"); >> } >> exit; >> } >> if ($rU == NULL) { >> send_reply(484, "Address Incomplete"); >> exit; >> } >> route(relay); >> } >> >> route[relay] { >> if (is_method("INVITE")) { >> do_accounting("log", "cdr|missed|failed"); >> sl_send_reply(488, "Not Acceptable Here"); >> exit; >> } >> if (!t_relay()) { >> send_reply(500, "Internal Error"); >> } >> exit; >> } >> ___ >> Users mailing list >> Users@lists.opensips.org >> http://lists.opensips.org/cgi-bin/mailman/listinfo/users >> > ___ > Users mailing list > Users@lists.opensips.org > http://lists.opensips.org/cgi-bin/mailman/listinfo/users > ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] ACC module for rejected calls
Hi Alberto You are correct, this is the line you need. I think you need a created transaction. Since you are responding in stateless, you may be missing the cdr. Try changing this and let me know if solves: sl_send_reply(488, "Not Acceptable Here"); -> t_reply(488, "Not Acceptable Here"); Regards On Mon, Apr 3, 2023 at 6:09 PM Alberto wrote: > Hi, > > I'm trying to understand the ACC module, using this minimal configuration > below. > My question is: why is there no cdr created? > I would have assumed that `do_accounting("log", "cdr|missed|failed");` > always saves cdrs, but it doesn't when the call is rejected from inside the > configuration script. > Hope my question is clear. Thanks > > > debug_mode=no > > log_level=3 > xlog_level=3 > log_stdout=yes > log_stderror=yes > log_facility=LOG_LOCAL0 > > auto_aliases=no > > server_signature=yes > > socket=udp:0.0.0.0:5060 > socket=tcp:0.0.0.0:5060 > > tcp_connect_timeout=300 > > mpath="/usr/lib64/opensips/modules/" > > loadmodule "signaling.so" > > loadmodule "sl.so" > > loadmodule "tm.so" > modparam("tm", "fr_inv_timeout", 120) > modparam("tm", "fr_timeout", 30) > modparam("tm", "onreply_avp_mode", 1) > modparam("tm", "restart_fr_on_each_reply", 0) > > loadmodule "rr.so" > modparam("rr", "append_fromtag", 1) > > loadmodule "acc.so" > modparam("acc", "early_media", 1) > modparam("acc", "report_cancels", 1) > modparam("acc", "detect_direction", 1) > > loadmodule "dialog.so" > modparam("dialog", "default_timeout", 14400) # 4 hours > modparam("dialog", "dlg_match_mode", 1) > modparam("dialog", "enable_stats", 0) > modparam("dialog", "profiles_with_value", "caller") > > loadmodule "sipmsgops.so" > > loadmodule "proto_udp.so" > loadmodule "proto_tcp.so" > > route { > if (has_totag()) { > if (loose_route()) { > if ($DLG_status != NULL && !validate_dialog()) { > exit; > } > } else { > if (is_method("ACK")) { > if (t_check_trans()) { > t_relay(); > } > exit; > } > sl_send_reply(404, "Not Found"); > exit; > } > t_relay(); > exit; > } > t_check_trans(); > if (is_myself($si)) { > send_reply(406, "Not Acceptable"); > exit; > } > if (is_method("INVITE")) { > if (!create_dialog("B")) { > send_reply(500, "Internal Server Error"); > exit; > } > } > if (loose_route()) { > if (!is_method("ACK")) { > sl_send_reply(403, "Preload Route denied"); > } > exit; > } > if ($rU == NULL) { > send_reply(484, "Address Incomplete"); > exit; > } > route(relay); > } > > route[relay] { > if (is_method("INVITE")) { > do_accounting("log", "cdr|missed|failed"); > sl_send_reply(488, "Not Acceptable Here"); > exit; > } > if (!t_relay()) { > send_reply(500, "Internal Error"); > } > exit; > } > ___ > Users mailing list > Users@lists.opensips.org > http://lists.opensips.org/cgi-bin/mailman/listinfo/users > ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
[OpenSIPS-Users] ACC module for rejected calls
Hi, I'm trying to understand the ACC module, using this minimal configuration below. My question is: why is there no cdr created? I would have assumed that `do_accounting("log", "cdr|missed|failed");` always saves cdrs, but it doesn't when the call is rejected from inside the configuration script. Hope my question is clear. Thanks debug_mode=no log_level=3 xlog_level=3 log_stdout=yes log_stderror=yes log_facility=LOG_LOCAL0 auto_aliases=no server_signature=yes socket=udp:0.0.0.0:5060 socket=tcp:0.0.0.0:5060 tcp_connect_timeout=300 mpath="/usr/lib64/opensips/modules/" loadmodule "signaling.so" loadmodule "sl.so" loadmodule "tm.so" modparam("tm", "fr_inv_timeout", 120) modparam("tm", "fr_timeout", 30) modparam("tm", "onreply_avp_mode", 1) modparam("tm", "restart_fr_on_each_reply", 0) loadmodule "rr.so" modparam("rr", "append_fromtag", 1) loadmodule "acc.so" modparam("acc", "early_media", 1) modparam("acc", "report_cancels", 1) modparam("acc", "detect_direction", 1) loadmodule "dialog.so" modparam("dialog", "default_timeout", 14400) # 4 hours modparam("dialog", "dlg_match_mode", 1) modparam("dialog", "enable_stats", 0) modparam("dialog", "profiles_with_value", "caller") loadmodule "sipmsgops.so" loadmodule "proto_udp.so" loadmodule "proto_tcp.so" route { if (has_totag()) { if (loose_route()) { if ($DLG_status != NULL && !validate_dialog()) { exit; } } else { if (is_method("ACK")) { if (t_check_trans()) { t_relay(); } exit; } sl_send_reply(404, "Not Found"); exit; } t_relay(); exit; } t_check_trans(); if (is_myself($si)) { send_reply(406, "Not Acceptable"); exit; } if (is_method("INVITE")) { if (!create_dialog("B")) { send_reply(500, "Internal Server Error"); exit; } } if (loose_route()) { if (!is_method("ACK")) { sl_send_reply(403, "Preload Route denied"); } exit; } if ($rU == NULL) { send_reply(484, "Address Incomplete"); exit; } route(relay); } route[relay] { if (is_method("INVITE")) { do_accounting("log", "cdr|missed|failed"); sl_send_reply(488, "Not Acceptable Here"); exit; } if (!t_relay()) { send_reply(500, "Internal Error"); } exit; } ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users