SIP support for keep-alive event
authorDavid Vossel <dvossel@digium.com>
Wed, 2 Sep 2009 16:08:00 +0000 (16:08 +0000)
committerDavid Vossel <dvossel@digium.com>
Wed, 2 Sep 2009 16:08:00 +0000 (16:08 +0000)
keep-alive events are used by Sipura/Linksys for NAT keepalive.
There currently don't appear to be any problems with NAT, but
everytime a keep-alive event is received, Asterisk responds with a
"489 Bad event".  This error may indicate to a user that NAT
problems exist just because this even is not supported.  Now,
rather than respond with an error, the packet is consumed and
a "200 ok" is sent just to indicate we received the packet.

(issue #15084)
Patches:
      chan_sip.keepalive.v1.diff uploaded by IgorG (license 20)

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@215466 65c4cc65-6c06-0410-ace0-fbb531ad65f3

channels/chan_sip.c

index c803fc6..75e4bb5 100644 (file)
@@ -19478,6 +19478,10 @@ static int handle_request_notify(struct sip_pvt *p, struct sip_request *req, str
                }
 
                transmit_response(p, "200 OK", req);
+       } else if (!strcmp(event, "keep-alive")) {
+                /* Used by Sipura/Linksys for NAT pinhole,
+                 * just confirm that we recieved the packet. */
+               transmit_response(p, "200 OK", req);
        } else {
                /* We don't understand this event. */
                transmit_response(p, "489 Bad event", req);