Hello I configure my kamailio.cfg to handle SLA using (SCA module) and shared presence is working but still facing some issue in case of hold invite and BYE and the reason behind of that issue is following error
Nov 26 07:38:40 SBC-4-1 /usr/local/sbin/kamailio[104107]: ERROR: sca [sca_call_info.c:1008]: sca_call_info_invite_request_handler(): Failed to update sip:4569@test.sip.abcd.com appearance-index 0 to active
actually, in Kamailio appearances, I can see the entry for this call but the index is 1 instead of 0, and Kamailio going to update with a 0 index
[root@SBC-4-1 ntcarfte-kamailio]# kamcmd sca.all_appearances sip:4569@test.sip.abcd.com 1 active 1606376289 sip:4569@10.xx.xx.xx:5070;transport=udp sip:2003@test.sip.abcd.com 186161_mobile-rel120MTQ5OTcyZjFhMjMyNmI1ZGE1MWY4ODc2M2RkN2VmZmQ 45dc18d8 H6cS9vecZ248B
if I manually update appearances using RPC command with index 1 then the phone started blinking as I change state to held
# kamcmd sca.update_appearance sip:4569@sc4test.sip.teledge.com 1 held # kamcmd sca.all_appearances sip:4569@test.sip.abcd.com 1 held 1606376516 sip:4569@10.xx.xx.xx:5070;transport=udp sip:2003@test.sip.abcd.com 186161_mobile-rel120NzE5MDgyZDc1NjJiYjcwMWFlYmI3NzM3NjE2OTRhZjU 08f005cb eK9ratm83g92e
kamailio.cfg
route[SCA] { if(is_method("SUBSCRIBE")) {
if ($hdr(Event) == "call-info" || $hdr(Event) == "line-seize") { xlog("L_INFO","(MAIN) :HELLO ($avp(uuid)) : $avp(rsi) $sp $hdr(Event)"); xdbg("SCA: $hdr(Event) SUBSCRIBE $ru from $si:$sp"); sca_handle_subscribe(); exit; } return; }
if (!is_method("BYE|CANCEL|INVITE|PRACK|REFER")) { return; } sca_call_info_update(); }
route[RELAY_OUTBOUND_FS] { xlog("L_INFO","(RELAY_OUTBOUND_FS) : ($avp(uuid)) : INSIDE ROUTE ");
if (!has_totag()){ $avp(set_h) = 1; }
t_on_reply("REPLY_OUTBOUND_FS"); route(SCA); if (!t_relay()) { sl_reply_error(); } exit; }
route[RELAY_INBOUND_FS] {
if(is_method("INVITE|BYE|UPDATE|CANCEL|ACK")) { $avp(s:puburis_caller) = $fu; setflag(8); dlg_manage(); }
if(is_method("REGISTER")) { t_on_reply("REPLY_REGISTER"); } else { t_on_reply("REPLY_INBOUND_FS"); } route(SCA); if (!t_relay()) { sl_reply_error(); } exit; }
onreply_route[REPLY_INBOUND_FS] { xdbg("incoming reply\n");
if (status =~ "[456][0-9][0-9]") { # don't update SCA state here, since there may be # failure route processing (e.g., call forwarding). # update state in failure route instead. return; }
route(SCA); }
onreply_route[REPLY_OUTBOUND_FS] { xdbg("incoming reply\n");
if (status =~ "[456][0-9][0-9]") { # don't update SCA state here, since there may be # failure route processing (e.g., call forwarding). # update state in failure route instead. return; }
route(SCA); }
Any Updates here?
It is busy time for everyone, with the winter/Christmas holidays, the responses may not come that fast.
But can also be that not many are using the `sca` module (for example, I do not use it), so that reduces the chances someone has an environment ready to try to reproduce what you are facing. Therefore, maybe you can try to dig in the code of the module and see if you can spot something there.
More developers can help with understanding the C code of a module in Kamailio than having the time to build a testbed and configure devices to reproduce a scenario.
This issue is stale because it has been open 6 weeks with no activity. Remove stale label or comment or this will be closed in 2 weeks.
Closed #2583 as not planned.