[SR-Users] MSILO: SIP stored offline MESSAGE repetitive delivery

David Villasmil david.villasmil.work at gmail.com
Sun Apr 8 21:21:35 CEST 2018


Try and get a trace, so you can see wether the message is ack'd and bump up
kamailio's debug and make it actually sees the ackd

On Sun, Apr 8, 2018, 20:26 M S <shaheryarkh at gmail.com> wrote:

> Hi,
>
> When kamailio dumps the messages to destination party upon register, do
> you see its reply received by kamailio correctly? Most probable cause of
> the problem is that kamailio does not receives 200 OK for dumped message
> from destination party and assumes message delivery failure, therefore it
> stores the message again. This is all done automatically be msilo module.
>
> Thank you.
>
>
> On Sun, Apr 8, 2018 at 7:42 PM, Abdul Basit <basit.engg at gmail.com> wrote:
>
>> Dear Team,
>>
>> Still stuck with the issue. Kindly suggest where i did wrong.
>>
>>
>> --
>> regards,
>>
>> abdul basit | p: +92 32 1416 4196 | o: +92 30 0841 1445
>>
>> On 6 April 2018 at 20:50, Abdul Basit <basit.engg at gmail.com> wrote:
>>
>>> Hi team,
>>>
>>> I am facing an issue while setting up IM server based on kamailio.
>>> SIP-SIP online messaging is fine. For offline messaging i am using msilo
>>> module which is storing offline messages in 'silo' table.
>>>
>>> As B-party come online ... it receive offline messages stored in
>>> database. But
>>> *Problem is*.. these messages will deliver to B-party as many time it
>>> REGISTER online.
>>>
>>> How can I configure msilo module to mark messages delivery status?
>>> or how can i delete the delivered messages so that there will be no
>>> chance of delivering them again on next REGISTER?
>>>
>>> Message parts of kamailio.cfg are
>>> ....
>>> /* add local domain aliases */
>>> alias="192.168.10.18"
>>> port=9060
>>>
>>>
>>> # ----- msilo params -----
>>> modparam("msilo", "db_url", DBURL)
>>> modparam("msilo", "db_table", "silo")
>>> modparam("msilo", "sc_mid", "id")
>>> modparam("msilo","from_address","sip:registrar at 192.168.10.18:9060")
>>> modparam("msilo","contact_hdr","Contact: registrar at 192.168.10.18:9060
>>> ;msilo=yes\r\n")
>>> modparam("msilo","content_type_hdr","Content-Type: text/plain\r\n")
>>>
>>> ........
>>>
>>> route[MSILO_MESSAGE] {
>>>     if (!is_method("MESSAGE")) return;
>>>     xlogl("L_NOTICE", "[$rm] r-uri: $ru d-uri: $du \n");
>>>     if (lookup("location")) {
>>>         xlogl("L_NOTICE", "[$rm] -> loaction found. Relying message
>>> [[$rb]] to the UAC \n");
>>>         t_relay();
>>>     } else {
>>>         if (!t_newtran()) {
>>>             xlogl("L_ERROR", "[$rm] -> ERROR creating new transaction
>>> \n");
>>>             sl_reply_error();
>>>             exit;
>>>         };
>>>         xlogl("L_NOTICE", "[$rm] -> Storing MSILO_MESSAGE \n
>>> [$ru]-[$tu]-[$ou] \n ");
>>>         if (m_store("$ru")) {
>>>             xlogl("L_NOTICE", "MSILO: offline message stored! \n");
>>>             if (!t_reply("202", "Accpeted and Strored")) {
>>>                 xlogl("L_ERROR", "MSILO: Err sending 202 reply... \n");
>>>                 sl_reply_error();
>>>             }
>>>         } else {
>>>             xlogl("L_ERROR", "MSILO: offline message NOT stored... \n");
>>>             if (!t_reply("503", "Service Unavailable")) {
>>>                 sl_reply_error();
>>>             }
>>>         }
>>>     }
>>>     exit;
>>> }
>>>
>>> .....
>>>
>>> # Handle SIP registrations
>>> route[REGISTRAR] {
>>>     if (!is_method("REGISTER")) return; // discard all non-REGISTER
>>> methods
>>>
>>>     if(isflagset(FLT_NATS)) {
>>>         setbflag(FLB_NATB);
>>> #!ifdef WITH_NATSIPPING
>>>         setbflag(FLB_NATSIPPING); //# do SIP NAT pinging
>>> #!endif
>>>     }
>>>     $avp(received) = "sip:" + $si + ":" + $sp + ";transport=" + $proto;
>>>     xlogl("L_INFO", "[$rm] -> UAC actual location $avp(received) \n");
>>>     if (!save("location",0x04)) {
>>>         xlogl("L_ERROR", "[$rm] -> Unable to save user location \n");
>>>         sl_reply_error();
>>>     }
>>>     else {
>>>         xlogl("L_INFO", "[$rm] -> dumping messages with MSILO \n");
>>>         # MSILO - dumping user's offline messages to user
>>>         if (m_dump("$fu")) {
>>>             xlogl("L_NOTICE", "MSILO: offline messages for $fu dumped -
>>> if they were \n");
>>>         }
>>>         else {
>>>             xlogl("L_NOTICE", "MSILO: no offline messages dumped \n");
>>>         };
>>>     }
>>>     exit;
>>> }
>>>
>>> Any idea?
>>>
>>> --
>>> regards,
>>>
>>> abdul basit
>>>
>>
>>
>> _______________________________________________
>> Kamailio (SER) - Users Mailing List
>> sr-users at lists.kamailio.org
>> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
>>
>>
> _______________________________________________
> Kamailio (SER) - Users Mailing List
> sr-users at lists.kamailio.org
> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kamailio.org/pipermail/sr-users/attachments/20180408/d558e9d1/attachment-0001.html>


More information about the sr-users mailing list