Sending INVITEs to clients behind NAT

6 views
Skip to first unread message

Damjan Jovanovic

unread,
Jun 14, 2012, 10:15:57 AM6/14/12
to little...@googlegroups.com
Hi

When a client behind NAT registers with LittleIMS, and then gets called, the INVITE is addressed and sent to its internal IP address and port, not to its external address, so it never gets there.

I've been trying to fix this, but I could use some help. From what I understand, the IP address and port in the INVITE's Request URI should be the internal IP address and port that client registered with, however that INVITE should be routed to the external IP address and port that the REGISTER message actually came from. Does the SIP servlets API provide a way to send a message to an arbitrary IP address and port, independently of the contents of the Request URI? If not, should I add that functionality to org.cipango.server.SipRequest, and cast to that class from SipServletRequest in the P-CSCF to use it? I'd also have to extend org.cipango.littleims.pcscf.RegContext to store port numbers together with IP addresses in _associatedIps, so it can route to the right port.

Any other help you can give me?

Thank you
Damjan Jovanovic

Nicolas

unread,
Jun 14, 2012, 11:51:06 AM6/14/12
to little...@googlegroups.com
Hello Damjan,
It is not possible with SIP servlet API to send a request independently of the
contents of the Request-URI. But you could try to update the host and port of
the request URI with the external IP and port, it might be enough for some phones.
If not, this would need an extension to Cipango. An idea is to set a special
parameter to contact with received external port and address. For instance, it
could be like:
<sip:us...@192.168.1.1>;expires=300;received="sip:46.31.211.34:63102;transport=TCP"
then, when a INVITE is proxied with a request-URI containing this parameter,
the request is sent to the destination set in this parameter and not to the
request URI.
To do such this, the method
org.cipango.server.transaction.ClientTransaction.doSend() should be patched.

Regards,
Nicolas


Le 14/06/2012 16:15, Damjan Jovanovic a �crit :
> --
> Vous recevez ce message, car vous �tes abonn� au groupe Google
> Groupes littleims-dev.
> Cette discussion peut �tre lue sur le Web � l'adresse
> https://groups.google.com/d/msg/littleims-dev/-/k34t6Hn59y4J.
> Pour envoyer un message � ce groupe, adressez un e-mail
> � little...@googlegroups.com.
> Pour vous d�sabonner de ce groupe, envoyez un e-mail � l'adresse
> littleims-de...@googlegroups.com.
> Pour plus d'options, consultez la page de ce groupe :
> http://groups.google.com/group/littleims-dev?hl=fr
Reply all
Reply to author
Forward
0 new messages