Hello,

On 08/10/15 11:58, Péter Barabás wrote:

Hi,

 

I set instant message store&forward in kamailio using MSILO module. It works fine in many cases.

We have special message handing (encryption in „session”), i do not go into detail since it is not necessarily to solve the problem.

So there are situations, when the offline receiver  should get a MESSAGE and will acknowledge with 4xx status code, like 493: the original message is stored in silo table and when the receiver will be online, it will be dumped and he will send 493.

 

Question: how can I delete the message from silo table with MSILO (since it is not 2xx) and how can i forward this ack message to the original sender instead kamailio?

 


Do I understand right that the MESSAGE sent by msilo is replied with 493 by recipient? In SIP, 200-299 are considered the codes for which a recipient accepts the request. Any particular reason for the client to send 493?

Anyhow, the patch to msilo should not big -- change inside function m_tm_callback() from modules/msilo/msilo.c for which code to set the MS_MSG_DONE flag.

The SIP response cannot forwarded to initial sending entity, because it lacks appropriate Via headers, but more important it will not have a request generated by that entity. You can have a NOTIFY request generated by kamailio sent to the entity to inform that its message was delivered.

Cheers,
Daniel
-- 
Daniel-Constantin Mierla
http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda
Book: SIP Routing With Kamailio - http://www.asipto.com