From: David Vossel Date: Wed, 2 Sep 2009 16:08:00 +0000 (+0000) Subject: SIP support for keep-alive event X-Git-Tag: 11.0.0-beta1~4271 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=b5dc4efb582778c5746a4c611bce6ef6aaddf073;p=thirdparty%2Fasterisk.git SIP support for keep-alive event 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 --- diff --git a/channels/chan_sip.c b/channels/chan_sip.c index c803fc6545..75e4bb589f 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -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);