Hello,
look at tsilo module as well as the presentation by Federico at Kamailio
World Conference about using Kamailio for mobile networks:
-
https://www.kamailio.org/events/2016-KamailioWorld/Day2/16-Federico.Cabiddu…
-
https://www.kamailio.org/events/2015-KamailioWorld/Day2/20-Federico.Cabiddu…
Cheers,
Daniel
On 30.11.17 10:44, Arun NV wrote:
Hi,
I am using *Kamailio 4.4* as the proxy with my *Asteri**sk *server. I
am trying to develop a scenario where an extension gets registered on
asterisk via *Kamailio *when it receives a push notification. This
push notification is sent to the sip extension when a call towards
this extension reaches to the *Kamailio*.
For example, suppose there is two SIP extension(/extension 1 and
extension 2/) registered on *Asterisk *via Kamailio. When a call from
*extension 1* reaches the asterisk, it forwards the *INVITE *request
towards *extension 2* via Kamailio.Kamailio will try to forward it to
extension 2. suppose the *extension 2* is not able to receive the
*INVITE *request from *Kamailio*. When extension two receive a push
notification, it will register on asterisk.
So I need to get the call on *extension 2 *through the new registration.
We are trying to simulate registration of extension to the asterisk
when receiving the push notification.
First, we registered *extension 2 *and disconnected the network. Then
we tried to register the same extension when a call from *extension 1
*reaches to Kamailio. This is a simulation of push-based registration
since an extension that receives the push will attempt to register
when an incoming call is received.
When asterisk sends *INVITE *request to Kamailio, it immediately
responded with *100 trying* provisional response. This *100* response
by Kamailio towards asterisk prevents asterisk from re-transmitting
the INVITE.
Then Kamailio tried to send and retransmit the packet to *extension
2*, which does not have network access. This*extension 2 *was on port
number /24071/. Even after successful registration(in port /59995/) of
the *extension 2*, Kamailio continued to transmit the packets to the
old port.
After that, we have configured Kamailio in a way that it won't send an
immeadeate provisional reply(*/100 trying/* ) for *INVITE *request.
Here Kamailio is not immediately sending *100 trying* message to
*Asterisk*. This forces Asterisk to re-transmit. Asterisk was found to
retransmit the same packets. However, even after the successful
registration of*extension 2*, asterisk continued to send the old
invite to Kamailio not the new one to the latest port.
This is the problem for me since push relies on the *INVITE *reaching
the phone at the correct port number.
So, is there other good approaches to solve this issue?
One thing I would like to try is modifying the pending *INVITE
*request towards old registered port with the new port details when
new registration reaches to Kamailio. Can I get the ongoing requests
from Kamailio?
Please suggest a viable solution.
Thank you,
Arunbalan
_______________________________________________
Kamailio (SER) - Users Mailing List
sr-users(a)lists.kamailio.org
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
--
Daniel-Constantin Mierla
www.twitter.com/miconda --
www.linkedin.com/in/miconda
Kamailio Advanced Training -
www.asipto.com
Kamailio World Conference - May 14-16, 2018 -
www.kamailioworld.com