<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Verdana;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.msonormal0, li.msonormal0, div.msonormal0
        {mso-style-name:msonormal;
        mso-margin-top-alt:auto;
        margin-right:0cm;
        mso-margin-bottom-alt:auto;
        margin-left:0cm;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
span.EmailStyle18
        {mso-style-type:personal;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
span.EmailStyle19
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;
        mso-fareast-language:EN-US;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-GB" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span style="mso-fareast-language:EN-US">Please check the return value of save and replace the logic: -<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New";mso-fareast-language:EN-US">$var(save_result) = save("location") ;<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New";mso-fareast-language:EN-US">if ($var(save_result) <= -1) {<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">    xlogl("L_ERROR", "[$rm] -> Unable to save user location \n");<br>
    sl_reply_error();<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">     exit();</span><span style="font-family:"Courier New";mso-fareast-language:EN-US"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New";mso-fareast-language:EN-US">}
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New";mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New";mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New";mso-fareast-language:EN-US">if ($var(save_result) == 1) {<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">    xlogl("L_INFO", "[$rm] -> dumping messages with MSILO \n");<br>
    # MSILO - dumping user's offline messages to user<br>
    if (m_dump("$fu")) {<br>
         xlogl("L_NOTICE", "MSILO: offline messages for $fu dumped - if they were \n");<br>
    }<br>
    else {<br>
         xlogl("L_NOTICE", "MSILO: no offline messages dumped \n");<br>
     };<br>
</span><span style="font-family:"Courier New";mso-fareast-language:EN-US">}<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US">This means dump the message only when it is not re-registration.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US">Thanks<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US">Regards<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US">Muhammad Zaka<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New";mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><b><span lang="EN-US">From:</span></b><span lang="EN-US"> sr-users [mailto:sr-users-bounces@lists.kamailio.org]
<b>On Behalf Of </b>Abdul Basit<br>
<b>Sent:</b> 08 April 2018 18:43<br>
<b>To:</b> Kamailio (SER) - Users Mailing List <sr-users@lists.kamailio.org>; Kamailio (SER) - Users Mailing List <sr-users@lists.sip-router.org><br>
<b>Subject:</b> Re: [SR-Users] MSILO: SIP stored offline MESSAGE repetitive delivery<o:p></o:p></span></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<p class="MsoNormal" style="margin-bottom:12.0pt">Dear Team,<o:p></o:p></p>
</div>
<p class="MsoNormal">Still stuck with the issue. Kindly suggest where i did wrong.
<o:p></o:p></p>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</div>
<div>
<p class="MsoNormal"><br clear="all">
<o:p></o:p></p>
<div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Verdana",sans-serif;color:#274E13">--<br>
regards,</span><o:p></o:p></p>
</div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Verdana",sans-serif;color:#274E13"><br>
abdul basit | p: +92 32 1416 4196 | o: +92 30 0841 1445</span><o:p></o:p></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal">On 6 April 2018 at 20:50, Abdul Basit <<a href="mailto:basit.engg@gmail.com" target="_blank">basit.engg@gmail.com</a>> wrote:<o:p></o:p></p>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm">
<div>
<div>
<div>
<p class="MsoNormal" style="margin-bottom:12.0pt">Hi team,<o:p></o:p></p>
</div>
<p class="MsoNormal">I am facing an issue while setting up IM server based on kamailio.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">SIP-SIP online messaging is fine. For offline messaging i am using msilo module which is storing offline messages in 'silo' table.<o:p></o:p></p>
</div>
<div>
<div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">As B-party come online ... it receive offline messages stored in database. But 
<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><b>Problem is</b>.. these messages will deliver to B-party as many time it REGISTER online.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-bottom:12.0pt">How can I configure msilo module to mark messages delivery status?
<br>
or how can i delete the delivered messages so that there will be no chance of delivering them again on next REGISTER?<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-bottom:12.0pt">Message parts of kamailio.cfg are
<br>
....<br>
<span style="font-family:"Courier New"">/* add local domain aliases */<br>
alias="192.168.10.18"<br>
port=9060<br>
<br>
<br>
# ----- msilo params -----<br>
modparam("msilo", "db_url", DBURL)<br>
modparam("msilo", "db_table", "silo")<br>
modparam("msilo", "sc_mid", "id")<br>
modparam("msilo","from_address","<a href="http://sip:registrar@192.168.10.18:9060" target="_blank">sip:registrar@192.168.10.18:9060</a>")<br>
modparam("msilo","contact_hdr","Contact: <a href="http://registrar@192.168.10.18:9060" target="_blank">
registrar@192.168.10.18:9060</a>;msilo=yes\r\n")<br>
modparam("msilo","content_type_hdr","Content-Type: text/plain\r\n")<br>
<br>
........<br>
<br>
route[MSILO_MESSAGE] {<br>
    if (!is_method("MESSAGE")) return;<br>
    xlogl("L_NOTICE", "[$rm] r-uri: $ru d-uri: $du \n");<br>
    if (lookup("location")) {<br>
        xlogl("L_NOTICE", "[$rm] -> loaction found. Relying message [[$rb]] to the UAC \n");<br>
        t_relay();<br>
    } else {<br>
        if (!t_newtran()) {<br>
            xlogl("L_ERROR", "[$rm] -> ERROR creating new transaction \n");<br>
            sl_reply_error();<br>
            exit;<br>
        };<br>
        xlogl("L_NOTICE", "[$rm] -> Storing MSILO_MESSAGE \n [$ru]-[$tu]-[$ou] \n ");<br>
        if (m_store("$ru")) {<br>
            xlogl("L_NOTICE", "MSILO: offline message stored! \n");<br>
            if (!t_reply("202", "Accpeted and Strored")) {<br>
                xlogl("L_ERROR", "MSILO: Err sending 202 reply... \n");<br>
                sl_reply_error();<br>
            }<br>
        } else {<br>
            xlogl("L_ERROR", "MSILO: offline message NOT stored... \n");<br>
            if (!t_reply("503", "Service Unavailable")) {<br>
                sl_reply_error();<br>
            }<br>
        }<br>
    }<br>
    exit;<br>
}<br>
<br>
.....<br>
<br>
# Handle SIP registrations<br>
route[REGISTRAR] {<br>
    if (!is_method("REGISTER")) return; // discard all non-REGISTER methods<br>
<br>
    if(isflagset(FLT_NATS)) {<br>
        setbflag(FLB_NATB);<br>
#!ifdef WITH_NATSIPPING<br>
        setbflag(FLB_NATSIPPING); //# do SIP NAT pinging<br>
#!endif<br>
    }<br>
    $avp(received) = "sip:" + $si + ":" + $sp + ";transport=" + $proto;<br>
    xlogl("L_INFO", "[$rm] -> UAC actual location $avp(received) \n");<br>
    if (!save("location",0x04)) {<br>
        xlogl("L_ERROR", "[$rm] -> Unable to save user location \n");<br>
        sl_reply_error();<br>
    }<br>
    else {<br>
        xlogl("L_INFO", "[$rm] -> dumping messages with MSILO \n");<br>
        # MSILO - dumping user's offline messages to user<br>
        if (m_dump("$fu")) {<br>
            xlogl("L_NOTICE", "MSILO: offline messages for $fu dumped - if they were \n");<br>
        }<br>
        else {<br>
            xlogl("L_NOTICE", "MSILO: no offline messages dumped \n");<br>
        };<br>
    }<br>
    exit;<br>
}</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Any idea?<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><br clear="all">
<o:p></o:p></p>
<div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Verdana",sans-serif;color:#274E13">--<br>
regards,</span><o:p></o:p></p>
</div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Verdana",sans-serif;color:#274E13"><br>
abdul basit</span><o:p></o:p></p>
</div>
</div>
</div>
</div>
</div>
</div>
</blockquote>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</div>
</body>
</html>