IBM Support

PH55528: STRINGINDEXOUTOFBOUNDSEXCEPTION IN SIP CONTAINER DURING CANCEL PROCESSING - CANCEL NOT PROPAGATED

Subscribe to this APAR

By subscribing, you receive periodic emails alerting you to the status of the APAR, along with a link to the fix after it becomes available. You can track this item individually or track all items by product.

Notify me when this APAR changes.

Notify me when an APAR for this component changes.

 

APAR status

  • Closed as program error.

Error description

  • Client is experiencing an issue with incoming call that is
    dropped by caller (CANCEL). The CANCEL comes to WAS SIP
    container and we see a StringIndexOutOfBoundsException. The
    CANCEL is not propagated to the other end and so this appears as
    a phantom ringing call on the destination phone :
    
    
    [6/23/23 13:22:35:294 CEST] 0000010c SignalingEndO E
    SignalingEndOfTask
    java.lang.StringIndexOutOfBoundsException: begin 1, end -1,
    length 20
    at java.lang.String.substring(String.java:2744)
    at com.ibm.ws.sip.container.util.SipUtil.parseReasons(SipUtil.j
    ava:1155)
    at com.ibm.ws.sip.container.proxy.ProxyBranchImpl.cancel(ProxyB
    ranchImpl.java:1104)
    at com.ibm.ws.sip.container.proxy.StatefullProxy.cancel(Statefu
    llProxy.java:478)
    at com.ibm.ws.sip.container.tu.TransactionUserImpl.cancelProxyO
    peration(TransactionUserImpl.java:2151)
    at com.ibm.ws.sip.container.tu.TransactionUserImpl.processReque
    st(TransactionUserImpl.java:1756)
    at com.ibm.ws.sip.container.tu.TransactionUserWrapper.processRe
    quest(TransactionUserWrapper.java:917)
    at com.ibm.ws.sip.container.transaction.ServerTransaction.proce
    ssRequest(ServerTransaction.java:99)
    at com.ibm.ws.sip.container.router.tasks.RequestRoutedTask.doTa
    sk(RequestRoutedTask.java:99)
    at com.ibm.ws.sip.container.router.tasks.SubsequentRequestRoute
    dTask.doTask(SubsequentRequestRoutedTask.java:42)
    at com.ibm.ws.sip.container.router.tasks.RoutedTask.run(RoutedT
    ask.java:103)
    at com.ibm.ws.sip.container.was.SignalingEndOfTask.run(Signalin
    gEndOfTask.java:80)
    at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1909)
    
    Based on the stack trace it looks like SIP container is parsing
    the Reason header, but Reason header appears formatted properly
    per RFC 3326:
    
    Reason: SIP;cause=487;text="Originator canceled;Canceled(t)"
    

Local fix

  • No LocalFix
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED:  All users of IBM WebSphere Application      *
    *                  Server                                      *
    *                  who use SIP                                 *
    ****************************************************************
    * PROBLEM DESCRIPTION: If a SIP request contains a ';' in a    *
    *                      Reason header's 'text' paramater, the   *
    *                      request will not be handled correctly   *
    ****************************************************************
    * RECOMMENDATION:  apply iFix                                  *
    ****************************************************************
    The sipcontainer will throw a StringIndexOutOfBoundsException
    when
    an incoming SIP request contains a Reason header with a
    semicolon
    in it's text parameter. For example, the SIP request containing
    the Reason header shown below, containing a semicolon inside the
    text element -
    Reason: SIP;cause=487;text="Originator canceled;Canceled(t)"
    - resulted in this StringIndexOutOfBoundsException:
    [6/23/23 13:22:35:294 CEST] 0000010c SignalingEndO E
    SignalingEndOfTask
    java.lang.StringIndexOutOfBoundsException: begin 1, end -1,
    length
    20
    at java.lang.String.substring(String.java:2744)
    at
    com.ibm.ws.sip.container.util.SipUtil.parseReasons(SipUtil.java:
    11
    55)
    at
    com.ibm.ws.sip.container.proxy.ProxyBranchImpl.cancel(ProxyBranc
    hI
    mpl.java:1104)
    at
    com.ibm.ws.sip.container.proxy.StatefullProxy.cancel(StatefullPr
    ox
    y.java:478)
    at
    com.ibm.ws.sip.container.tu.TransactionUserImpl.cancelProxyOpera
    ti
    on(TransactionUserImpl.java:2151)
    at
    com.ibm.ws.sip.container.tu.TransactionUserImpl.processRequest(T
    ra
    nsactionUserImpl.java:1756)
    at
    com.ibm.ws.sip.container.tu.TransactionUserWrapper.processReques
    t(
    TransactionUserWrapper.java:917)
    at
    com.ibm.ws.sip.container.transaction.ServerTransaction.processRe
    qu
    est(ServerTransaction.java:99)
    at
    com.ibm.ws.sip.container.router.tasks.RequestRoutedTask.doTask(R
    eq
    uestRoutedTask.java:99)
    at
    com.ibm.ws.sip.container.router.tasks.SubsequentRequestRoutedTas
    k.
    doTask(SubsequentRequestRoutedTask.java:42)
    at
    com.ibm.ws.sip.container.router.tasks.RoutedTask.run(RoutedTask.
    ja
    va:103)
    at
    com.ibm.ws.sip.container.was.SignalingEndOfTask.run(SignalingEnd
    Of
    Task.java:80)
    

Problem conclusion

Temporary fix

Comments

APAR Information

  • APAR number

    PH55528

  • Reported component name

    WEBS APP SERV N

  • Reported component ID

    5724H8800

  • Reported release

    900

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2023-07-03

  • Closed date

    2023-08-30

  • Last modified date

    2023-08-30

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

Fix information

  • Fixed component name

    WEBS APP SERV N

  • Fixed component ID

    5724H8800

Applicable component levels

[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSEQTP","label":"WebSphere Application Server"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"9.0","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
31 August 2023