[OpenSIPS-Users] Feature-request: AVPs for nat_traversal

Dan Pascu dan at ag-projects.com
Thu Jun 11 14:29:43 CEST 2009


On 11 Jun 2009, at 14:46, Thomas Gelf wrote:
> As you asked for real-world example for the "per-user-ping-type"
> feature request: while preparing our new VoIP platform I've switched
> to nat_traversal and configured NOTIFY, as it seemed to be the more
> elegant variant.
>
> This went well, unless I've met problems with some UACs (tested AVM,
> Snom, Grandsteam - don't remember which one had the problem) behind
> an enterprise firewall (Nokia Checkpoint or Juniper Netscreen, both
> cluster installations - don't remember even here which one it has
> been). There have no longer been no replies to my NOTIFY, I switched
> to OPTIONS and it worked.

Hmm. Up to now I haven't encountered any device that doesn't reply to  
a request. If it doesn't understand it, it should at least reply with  
"Not supported". Having devices that completely ignore a request is  
bad for communication, because you cannot discern between the case  
where the device is not accessible anymore or it's just not willing to  
reply.

> I must confess that I didn't try to find out who caused the problem
> (ALG or UAC) - I've just seen issues with NOTIFY and opted for the
> second option (OPTIONS). Nonetheless I would welcome the possibility
> to switch back to NOTIFY and use OPTIONS just where I encounter
> problems.


There are some problems I see with your proposal:

1. It adds little value to the solution, but increases a lot the need  
to provision, monitor and manage this per device. This is a background  
activity and one should not need to manually configure it too much or  
at all. It should simply work as automatically as possible.

2. Sending pings with different methods may require different headers  
to be present. So it is not enough to just specify the method. It  
should rather have a few available profiles and let you choose from  
them.


IMO, a better solution would be to make it adaptive. It could monitor  
the replies and if it doesn't get a reply for a ping it can switch to  
use the other method for that particular endpoint. For example the  
first time the proxy has to send a ping to a newly added endpoint, it  
should send both a NOTIFY and an OPTIONS. If it gets a reply for both,  
it will use whatever the module is configured to use by default. If it  
only gets a reply for one of them, it will use that no matter what the  
module uses by default.


--
Dan






More information about the Users mailing list