Hello All
   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);
}

can someone help me with this Did I missed something to handle SLA?


--
-- 

Regards,

Aatif Shaikh | Software Developer

+91 9033976268Hangout: aatif.shaikh@ecosmob.comSkype : aatif.shaikh@ecosmob.com
Ecosmob Technologies Pvt. Ltd. 
https://www.ecosmob.com
VoIP | Web | Mobile | IoT | Big Data
    

This e-mail message may contain confidential or legally privileged information and is intended only for the use of the intended recipient(s). Any unauthorized disclosure, dissemination, distribution, copying or the taking of any action in reliance on the information herein is prohibited. Ecosmob Technologies is not responsible for errors or omissions in this message and denies any responsibility for any damage arising from the use of e-mail. Any opinion and other statement contained in this message and any attachment are solely those of the author and do not necessarily represent those of the company.


Disclaimer
In addition to generic Disclaimer which you have agreed on our website, any views or opinions presented in this email are solely those of the originator and do not necessarily represent those of the Company or its sister concerns. Any liability (in negligence, contract or otherwise) arising from any third party taking any action, or refraining from taking any action on the basis of any of the information contained in this email is hereby excluded.

Confidentiality
This communication (including any attachment/s) is intended only for the use of the addressee(s) and contains information that is PRIVILEGED AND CONFIDENTIAL. Unauthorized reading, dissemination, distribution, or copying of this communication is prohibited. Please inform originator if you have received it in error.

Caution for viruses, malware etc.
This communication, including any attachments, may not be free of viruses, trojans, similar or new contaminants/malware, interceptions or interference, and may not be compatible with your systems. You shall carry out virus/malware scanning on your own before opening any attachment to this e-mail. The sender of this e-mail and Company including its sister concerns shall not be liable for any damage that may incur to you as a result of viruses, incompleteness of this message, a delay in receipt of this message or any other computer problems.