Why does FAS return 404 errors for incoming SIP OPTIONS requests?

Introduction

This article describes how the CafêX Web Gateway handles inbound SIP OPTION requests.

Description

OPTIONS requests are sent by external servers trying to ping the FAS. This is a service availability check to make sure the FAS server is alive and able to respond to SIP. 

FAS does not process inbound OPTIONS as there is no application installed to process that type of request. Hence, a 404 error is returned. Typically, the 404 response is sufficient for the sending end to realise that the FAS is there.

Please note that the errors/exceptions in response to incoming SIP OPTIONS requests can be safely ignored.

The following is an example of an exception resulting from an inbound OPTIONS request:

Server.log:

2016-10-11 19:37:26,054 ERROR [org.mobicents.servlet.sip.core.SipApplicationDispatcherImpl] (Fusion Application Server-UDPMessageChannelThread-57)  | Unexpected exception while processing request OPTIONS sip:Trunk_LA@10.31.107.41 SIP/2.0
From: <sip:Trunk_LA@10.31.107.45:5061>;tag=FF89F2FA-9E4D-4809-85A2-5557ED567480-6853
To: <sip:Trunk_LA@10.31.107.45:5061>
Call-ID: 48E14895-172A-4CB1-8545-C29BB694DF9F-6853@10.31.107.45
CSeq: 1476182246 OPTIONS
Via: SIP/2.0/UDP 10.31.107.41:5060;branch=z9hG4bK08C258A3-AA9F-406A-8962-A936F536C90F48E14
Via: SIP/2.0/UDP 10.31.107.45:5061;branch=z9hG4bK08C258A3-AA9F-406A-8962-A936F536C90F
Max-Forwards: 0
Content-Length: 0

: org.mobicents.servlet.sip.core.DispatcherException: the Request-URI does not point to another domain, and there is no Route header,the container should not send the request as it will cause a loop. Instead, the container must reject the request with 404 Not Found final response with no Retry-After header. You may want to check your dar configuration file to see if the request can be handled or make sure you use the correct Application Router jar.
 at org.mobicents.servlet.sip.core.dispatchers.InitialRequestDispatcher.dispatchOutsideContainer(InitialRequestDispatcher.java:331) [sip-servlets-impl-2.0.0.FINAL.jar:2.0.0.FINAL]
 at org.mobicents.servlet.sip.core.dispatchers.InitialRequestDispatcher.invokeAppRouterAndDispatchRequest(InitialRequestDispatcher.java:696) [sip-servlets-impl-2.0.0.FINAL.jar:2.0.0.FINAL]
 at org.mobicents.servlet.sip.core.dispatchers.InitialRequestDispatcher.dispatchMessage(InitialRequestDispatcher.java:151) [sip-servlets-impl-2.0.0.FINAL.jar:2.0.0.FINAL]
 at org.mobicents.servlet.sip.core.SipApplicationDispatcherImpl.processRequest(SipApplicationDispatcherImpl.java:824) [sip-servlets-impl-2.0.0.FINAL.jar:2.0.0.FINAL]
 at gov.nist.javax.sip.EventScanner.deliverEvent(EventScanner.java:230) [mss_jain_sip-fas.jar:fas-1]
 at gov.nist.javax.sip.SipProviderImpl.handleEvent(SipProviderImpl.java:187) [mss_jain_sip-fas.jar:fas-1]
 at gov.nist.javax.sip.DialogFilter.processRequest(DialogFilter.java:1321) [mss_jain_sip-fas.jar:fas-1]
 at gov.nist.javax.sip.stack.SIPServerTransaction.processRequest(SIPServerTransaction.java:861) [mss_jain_sip-fas.jar:fas-1]
 at gov.nist.javax.sip.stack.UDPMessageChannel.processMessage(UDPMessageChannel.java:587) [mss_jain_sip-fas.jar:fas-1]
 at gov.nist.javax.sip.stack.UDPMessageChannel.processIncomingDataPacket(UDPMessageChannel.java:528) [mss_jain_sip-fas.jar:fas-1]
 at gov.nist.javax.sip.stack.UDPMessageChannel.run(UDPMessageChannel.java:324) [mss_jain_sip-fas.jar:fas-1]
 at java.lang.Thread.run(Thread.java:745) [rt.jar:1.7.0_79]

Pcap:



 

Have more questions? Submit a request

Comments

Powered by Zendesk