Incorrect SIP Options Responses

I am trying to get Asterisk to respond correctly to a SIP OPTIONS request sent to it from an external PSTN switch.

According to SIP RFC 3261 a SIP OPTIONS request should be responded with a SIP 200 OK response or the UA would be determined to be off-line by the other party.

Our carrier’s PSTN switch is sending our Asterisk server SIP OPTIONS as a heartbeat signal so they know when our equipment is off-line so they can route calls accordingly. Without a SIP 200 OK response to their SIP OPTIONS request we can not make or receive any calls.

I am using Asterisk 1.2.14 (Asterisk SVN-branch-1.2-r51197 ). I have extensions and SIP accounts setup that correspond to the usernames presented within the SIP OPTIONS request.

Asterisk is responding with: SIP/2.0 404 Not Found to the switches SIP OPTIONS request

Asterisk Verbose Debug response to the SIP OPTIONS shows:-

Am I missing something?

Is this fixed in Asterisk 1.4?

Any help would be appreciated.


OPTIONS sip:GDSSUDTARCQLD0 SIP/2.0.
From: <sip:PSDFFS>;tag=c57d2-13c4-b17a7-17c17df6-b17a7.
To: <sip:GDSSUDTARCQLD0>.
Call-ID: 9175470-202c57d2-13c4-b17a7-6fa155f7-b17a7@PSDFFS.
CSeq: 632505012 OPTIONS.
Via: SIP/2.0/UDP PSDFFS:5060;maddr=210.87.44.32;branch=z9hG4bK-b17a7-2b546642-35cdfc47.
User-agent: CS2000_NGSS/9.0.
Max-Forwards: 70.
Accept: application/isup, application/sdp, application/dtmf-relay, audio/telephone-event, application/simple-message-summary.
Supported: 100rel.
Allow: ACK,BYE,CANCEL,INVITE,OPTIONS,INFO,SUBSCRIBE,REFER,NOTIFY,PRACK.
Content-Length: 0.
.

SIP/2.0 404 Not Found.
Via: SIP/2.0/UDP PSDFFS:5060;maddr=200.27.14.52;branch=z9hG4bK-b17a7-2b546642-35cdfc47;received=210.87.44.32.
From: <sip:PSDFFS>;tag=c57d2-13c4-b17a7-17c17df6-b17a7.
To: <sip:GDSSUDTARCQLD0>;tag=as29688414.
Call-ID: 9175470-202c57d2-13c4-b17a7-6fa155f7-b17a7@PSDFFS.
CSeq: 632505012 OPTIONS.
User-Agent: Asterisk PBX.
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY.
Accept: application/sdp.
Content-Length: 0.

Maybe you should look in chan_sip.c to see if Asterisk supports SIP OPTIONS