1 Reply Latest reply on Apr 28, 2010 5:50 PM by user753546

    Record-Routing transport in OCCAS

      When the OCCAS proxy is adding record-route the transport parameter is not added. This trigger our UA to send subsequent requests using UDP and that behaviour creates some problems.

      Not adding transport is bad behavior! Well known in the sip community and the issue is now well documented in RFC5658 See section 6. "Usage of Transport Protocol Parameter"

      What type of network deployment is OCCAS intended for? Is it supposed to support scenarios where transport is TCP or changed between TCP and UDP when traversing the proxy?

      Is this a known issue on OCCAS or is there just some missing configuration or patches that I should apply?

        • 1. Re: Record-Routing transport in OCCAS
          SipServlet specification does not specify any API which allows to set the transport parameter for record route.

          But there was a fix done after OCCAS release which exposes a proprietary API which allows sip servlet application to set the Transport parameter to be used for RecordRouting purposes. It is for the application to decide whether next hop supports that transport or not. The GA's version of OCCAS4.0 doesnot have that support, but a patch can be made available for that on top of OCCAS4.0

          Please work with Oracle support to get official patch for bug 8831838 . One you have that patch in place

          1. Since it is proprietary API please cast the proxy object you have got returned via req.getProxy() to class com.bea.wcp.sip.WlssProxy as shown below

          protected void doInvite(SipServletRequest req)
          throws ServletException, IOException {

          WlssProxy p = (WlssProxy)req.getProxy();


          2. We can't modify the original proxy interface itself as this class is specified in the SIPservlet specification. What you see here is a non-SIP servlet API complaint extension of the specification.

          3. Make sure that the patch needs to be in classpath even for compiling the application as new api change in application will require this to be in classpath.

          Hope it helps.

          Anurag Bahl