[Asterisk-Users] Should ICMP port unreachable generate a BYE request?

Martijn van Oosterhout martijn at ecomtel.com.au
Wed Mar 9 05:19:02 MST 2005


On Wed, Mar 09, 2005 at 01:51:09PM +0200, Dipole Moment wrote:
> I'm researching random call drops on our Asterisk and would like to
> make sure whether it's something wrong with our VoIP provider or with
> the Asterisk.  I sniffed traffic between Asterisk and our VoIP
> provider's SIP gateway, and observed that in the middle of the
> conversation an RTP stream originating from Asterisk gets an ICMP port
> unreachable from provider's SIP gateway at random times and
> conversation seems to go on for a while, but after a while a few more
> port unreachables are observed and Asterisk sends BYE request to both
> parties.
> 
> I wonder if it is it normal for Asterisk to send BYE requests to both
> parties once it gets a port unreach even though noone from the either
> end has hanged up the call?  If yes, then why doesn't it send BYE
> request on the first unreach it sees?  Or is it some tunable parameter
> that can be set via configuration files?  Or should I mail the sniffer
> dump to my provider and ask them to fix their gateway?

You'd have to trace the code to work it out properly. But ICMP packets
aren't generally passed to userspace. What's more likely is that the
kernel, upon receiving sufficient of these errors, decides the
connection is dead and notifies asterisk.

Although, with UDP (in Linux anyway) the error can be passed back.

Strange problem though, how can only some packets generate Port
Unreachable, but not all. Random routing problem?

Have a nice day,
-- 
Martijn van Oosterhout
Ecomtel Pty Ltd



More information about the asterisk-users mailing list