3 Replies Latest reply: Aug 17, 2009 2:48 AM by 717621 RSS

    UDP messages 1300 K limit

      What is the expected behavior of Weblogic Sip Server regarding large UDP messages?

      We are running an application on Weblogic Sip Server 2.1. The app sends/receives simple SIP MESSAGE messages using the UDP protocol. The XML Payload is getting large on some of the messages, and we are exceeding the 1300K limit for UDP transport. See example below. My question is this --- 1) What is the expected behavior here? and 2) How can I configure Weblogic to send large UDP messages? We want the container to just fragment the message and send it.

      I would appreciate any insight on this issue.

      T. Cuprak

      Request message we are sending , using req.send() ----

      MESSAGE sip:5554414706@ SIP/2.0
      To: <sip:5554414706@>;user=phone
      Content-Length: 1000
      CSeq: 1 MESSAGE
      Call-ID: wlssa99eb7ffefdcb8602fbf35b37e936840wl(4dc0eed15129f80d9753bca98f154ab7
      From: <sip:0000000000@domain.com>;tag=f5c6ff46
      Content-Type: application/xml
      Max-Forwards: 70

      < 1000KB content payload …>

      Works fine until the payload is large, at which point the container will not send the message. We are seeing the following error:

      1244760599626 SIP message parser: line = |HTTP/1.1 404 Not Found|
      <Jun 11, 2009 3:49:59 PM MST> <Warning> <WLSS.Transport> <BEA-330618> <Closing T
      CP connection (MuxableSocketSIP[local=,remote=/
      1]exception cause: null) due to error
      javax.servlet.sip.ServletParseException: Invalid SIP message start line: [HTTP/1
      .1 404 Not Found]
      at com.bea.wcp.sip.engine.connector.transport.SipMessageParser.parseMess
      at com.bea.wcp.sip.engine.connector.transport.SipMessageParser.parse(Sip
      at com.bea.wcp.sip.engine.connector.transport.ConnectionManager$SIPReque
      at weblogic.work.ServerWorkManagerImpl$WorkAdapterImpl.run(ServerWorkMan
      at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
      Truncated. see log file for complete stacktrace
        • 1. Re: UDP messages 1300 K limit

          rfc 3261 rule: if request size >= network MTU-200bytes use TCP

          OCCAS rule
          request size >= MTU specified in the network channel in config.xml then go TCP

          So the solution for your problem is to increase the MTU in config.xml (you can do up to 65k if I remember correctly). See below the MTU parameter.
          Note you need to configure in the config.xml.

          Configuring SIP Channels for Multi-Homed Machines
          Configuring Network Resources 1-9
          • 2. Re: UDP messages 1300 K limit
            This did resolve the problem. Bumping up the MTU allowed the large message to be sent UDP.

            Thanks so much for the post!

            T. Cuprak
            • 3. Re: UDP messages 1300 K limit

              By the same token, can I set the MTU to a low value to force OCCAS to use TCP?

              Thanks in advance.