jain-sip
jain-sip copied to clipboard
JAIN SIP validation of SIP messages
I have this crash in Android SDK where an incoming INVITE doesn't include a Contact header which is mandatory AFAIK. The problem is that JAIN SIP doesn't spot that and the application continues processing normally by trying to generate a 180 Ringing which bombs with:
java.lang.RuntimeException: Failed to send Ringing to incoming Invite
at org.restcomm.android.sdk.SignalingClient.JainSipClient.JainSipCall.processRequest(JainSipCall.java:359)
at org.restcomm.android.sdk.SignalingClient.JainSipClient.JainSipClient$2.run(JainSipClient.java:677)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:148)
at android.os.HandlerThread.run(HandlerThread.java:61)
Caused by: android.javax.sip.TransactionUnavailableException: Missing a required header : Contact (at offset 0)
at android.gov.nist.javax.sip.SipProviderImpl.getNewServerTransaction(SipProviderImpl.java:476)
at org.restcomm.android.sdk.SignalingClient.JainSipClient.JainSipCall.processRequest(JainSipCall.java:339)
... 5 more
Caused by: java.text.ParseException: Missing a required header : Contact (at offset 0)
at android.gov.nist.javax.sip.message.SIPRequest.checkHeaders(SIPRequest.java:318)
at android.go
@jaimecasero @deruelle shouldn't JAIN SIP discard the incoming INVITE on account of being invalid and return something like 400 Bad Request to the requester? Thoughts?