Status: New
Owner: ----
Labels: Type-Defect Priority-Medium
New issue 2500 by [email protected]: B2buaHelper.createRequest()
throws a NullPointerException if the request contains an empty header
http://code.google.com/p/mobicents/issues/detail?id=2500
What steps will reproduce the problem?
1. Forward a call through a B2BUA application.
2. Have the UA on one leg send a reinvite which contains an empty header
(for example, "Supported: ").
3. Call B2buaHelper.createRequest() to copy the re-invite for forwarding to
the other leg.
What is the expected output? What do you see instead?
Expected the re-invite to be forwarded to the other call leg. Instead, a
NullPointerException was thrown:
ERROR Mobicents-SIP-Servlets-UDPMessageChannelThread-46
org.mobicents.servlet.sip.message.B2buaHelperImpl - Unexpected exception
java.lang.NullPointerException
at
org.mobicents.servlet.sip.message.B2buaHelperImpl.copyNonSystemHeaders(B2buaHelperImpl.java:365)
at
org.mobicents.servlet.sip.message.B2buaHelperImpl.createRequest(B2buaHelperImpl.java:332)
at
com.telsis.tasp.states.StateHelpers.forwardRequestToOtherLeg(StateHelpers.java:827)
at
com.telsis.tasp.states.ActiveBaseState.doInvite(ActiveBaseState.java:112)
at com.telsis.tasp.OceanServlet.doInvite(OceanServlet.java:456)
at javax.servlet.sip.SipServlet.doRequest(SipServlet.java:225)
at
com.telsis.tasp.OceanServlet.superDoRequest(OceanServlet.java:796)
at com.telsis.tasp.OceanServlet.doRequest(OceanServlet.java:848)
at javax.servlet.sip.SipServlet.service(SipServlet.java:325)
at
org.mobicents.servlet.sip.core.dispatchers.MessageDispatcher.callServlet(MessageDispatcher.java:235)
at
org.mobicents.servlet.sip.core.dispatchers.SubsequentRequestDispatcher$SubsequentDispatchTask.dispatch(SubsequentRequestDispatcher.java:449)
at
org.mobicents.servlet.sip.core.dispatchers.DispatchTask.dispatchAndHandleExceptions(DispatchTask.java:55)
at
org.mobicents.servlet.sip.core.dispatchers.SubsequentRequestDispatcher.dispatchMessage(SubsequentRequestDispatcher.java:287)
at
org.mobicents.servlet.sip.core.SipApplicationDispatcherImpl.processRequest(SipApplicationDispatcherImpl.java:694)
at
gov.nist.javax.sip.EventScanner.deliverEvent(EventScanner.java:227)
at
gov.nist.javax.sip.SipProviderImpl.handleEvent(SipProviderImpl.java:194)
at
gov.nist.javax.sip.DialogFilter.processRequest(DialogFilter.java:1301)
at
gov.nist.javax.sip.stack.SIPServerTransaction.processRequest(SIPServerTransaction.java:844)
at
gov.nist.javax.sip.stack.UDPMessageChannel.processMessage(UDPMessageChannel.java:530)
at
gov.nist.javax.sip.stack.UDPMessageChannel.processIncomingDataPacket(UDPMessageChannel.java:487)
at
gov.nist.javax.sip.stack.UDPMessageChannel.run(UDPMessageChannel.java:295)
at java.lang.Thread.run(Unknown Source)
What version of the product are you using? On what operating system?
mss-1.4.0.FINAL-apache-tomcat-6.0.29 on CentOS 5.4
Please provide any additional information below.
In the attached trace, 192.168.58.20 is the A-party, 192.168.58.21 is the
B-party, and 192.168.58.71 is the B2BUA.
Attachments:
failed-reinvite.pcap 10.1 KB