Cisco Unified Border Element (Enterprise) SIP Support Configuration Guide, Cisco IOS XE Release 3S
Mid-call Re-INVITE/UPDATE Consumption
Downloads: This chapterpdf (PDF - 1.33MB) The complete bookPDF (PDF - 4.02MB) | The complete bookePub (ePub - 806.0KB) | Feedback

Mid-call Re-INVITE/UPDATE Consumption

Mid-call Re-INVITE/UPDATE Consumption

The Mid-call Re-INVITE/UPDATE consumption feature helps consume unwanted mid-call Re-INVITEs/UPDATEs locally avoiding interoperability issues that may arise due to these Re-INVITES.

Feature Information for Mid-call Re-INVITE Consumption

The following table provides release information about the feature or features described in this module. This table lists only the software release that introduced support for a given feature in a given software release train. Unless noted otherwise, subsequent releases of that software release train also support that feature.

Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to www.cisco.com/​go/​cfn. An account on Cisco.com is not required.

Table 1 Feature Information for Mid-call Re-INVITE Consumption

Feature Name

Releases

Feature Information

Cisco UBE Mid-call Signalling

15.3(2)S, 15.3T

The Cisco UBE Mid-call signalling helps to disables codec negotiation in the middle of a call and preserves the codec negotiated before the call.

The following keyword was introduced or modified: preserve-codec.

Cisco UBE Mid-call Re-INVITE/UPDATE Consumption

15.2(1)T

Cisco IOS XE Release 3.6S

The Mid-call Re-INVITE consumption feature consumes mid-call Re-INVITEs from CUBE and helps to avoid interoperability issues because of these re-invites

The following commands were introduced or modified: midcall-signaling.

Restrictions

  • SIP-H.323 calls are not supported.
  • TDM Gateways are not supported.
  • Session Description Protocol (SDP) -passthrough is not supported
  • When codec T is configured, the offer from CUBE has only audio codecs, and so the video codecs are not consumed.
  • Re-invites are not consumed if media flow-around is configured.
  • Re-invites are not consumed if media anti-tromboning is configured.
  • Video transcoding is not supported.
  • Secure Real-time Protocol - Real-time Protocol (SRTP-RTP) supplementary services are not supported.
  • Multicast Music On Hold (MMOH) is not supported.
  • When the midcall-signaling passthru media-change command is configured and high-density transcoder is enabled, there might be some impact on Digital Signal Processing (DSP) resources as the transcoder might be used for all the calls.
  • Session timer is handled leg by leg whenever this feature is configured.

Information About CUBE Mid-call Re-INVITE/UPDATE Consumption

The purpose of Mid-call Re-INVITE Consumption is to ensure smooth interoperability of supplementary services (like audio hold, resume and call transfer) by consuming unnecessary re-invites (mid-call signaling) locally.

This can be done in three different ways:
  • Converting a delayed offer to an early offer—
  • Passthrough of mid-call signaling regarding media change—Mid-call signaling is passed through only when bidirectional media like T.38 or video is added.
  • Blocking all mid-call signaling for a specific SIP trunk.

Note


This feature should be used as a last resort only when there is no other option in CUBE. This is because configuring this feature can break video-related features. For Delay-offer Re-INVITE, the configured codec will be passed as an offer in 200 message to change the codec, the transcoder is added in the answer.


How to Configure Cisco UBE Mid-call Re-INVITE Consumption

Configuring Passthrough of Mid-call Signalling

Perform this task to configure passthrough of mid-call signaling (as Re-invites) only when bidirectional media is added.

SUMMARY STEPS

    1.    enable

    2.    configure terminal

    3.    Configure passthrough of mid-call signalling changes only when bidirectional media is added.

    • midcall-signaling passthru media-change in Global VoIP configuration mode.
    • voice-class sip mid-call signaling passthru media-change in dial-peer configuration mode.

    4.    end


DETAILED STEPS
     Command or ActionPurpose
    Step 1 enable


    Example:
    Device> enable
     

    Enables privileged EXEC mode.

    • Enter your password if prompted.
     
    Step 2 configure terminal


    Example:
    Device# configure terminal
     

    Enters global configuration mode.

     
    Step 3Configure passthrough of mid-call signalling changes only when bidirectional media is added.
    • midcall-signaling passthru media-change in Global VoIP configuration mode.
    • voice-class sip mid-call signaling passthru media-change in dial-peer configuration mode.


    Example:In Global VoIP configuration mode:
    Device(config)# voice service voip
    Device(conf-voi-serv)# sip
    Device(conf-serv-sip)# midcall-signaling passthru media-change


    Example:In Dial-peer configuration mode:
    Device(config)# dial-peer voice 2 voip
    Device(config-dial-peer)# voice-class sip mid-call signaling passthru media-change
     
    Re-Invites are passed through only when bidirectional media is added.  
    Step 4 end
     

    Exits to privileged EXEC mode.

     

    Blocking All Mid-Call Signaling

    Perform this task to block all mid-call signaling:

    SUMMARY STEPS

      1.    enable

      2.    configure terminal

      3.    Configure blocking of all mid-call signaling changes:

      • midcall-signaling block in Global VoIP configuration mode.
      • voice-class sip mid-call signaling block in dial-peer configuration mode.

      4.    end


    DETAILED STEPS
       Command or ActionPurpose
      Step 1 enable


      Example:
      Device> enable
       

      Enables privileged EXEC mode.

      • Enter your password if prompted.
       
      Step 2 configure terminal


      Example:
      Device# configure terminal
       

      Enters global configuration mode.

       
      Step 3Configure blocking of all mid-call signaling changes:
      • midcall-signaling block in Global VoIP configuration mode.
      • voice-class sip mid-call signaling block in dial-peer configuration mode.


      Example:In Global VoIP configuration mode:
      Device(config)# voice service voip
      Device(conf-voi-serv)# sip
      Device(conf-serv-sip)# midcall-signaling block


      Example:In Dial-peer configuration mode:
      Device(config)# dial-peer voice 2 voip
      Device(config-dial-peer)# voice-class sip mid-call signaling block
       
      Mid-call signaling is always blocked.  
      Step 4 end
       

      Exits to privileged EXEC mode.

       

      Configuring Delayed Offer to Early Offer

      SUMMARY STEPS

        1.    enable

        2.    configure terminal

        3.    Configure conversion of a delayed offer to an early offer:

        • voice-class sip early-offer forced in dial-peer configuration mode
        • early-offer forced in global VoIP configuration mode

        4.    end


      DETAILED STEPS
         Command or ActionPurpose
        Step 1enable


        Example:
        Device> enable
         

        Enables privileged EXEC mode. Enter your password if prompted.

         
        Step 2configure terminal


        Example:
        Device# configure terminal
         

        Enters global configuration mode.

         
        Step 3Configure conversion of a delayed offer to an early offer:
        • voice-class sip early-offer forced in dial-peer configuration mode
        • early-offer forced in global VoIP configuration mode


        Example:In dial-peer configuration mode:
        
        Device (config) dial-peer voice 10 voip
        Device (config-dial-peer) voice-class sip early-offer forced 
        Device (config-dial-peer) end
        


        Example:In global VoIP SIP mode:
        
        Device(config)# voice service voip
        Device (config-voi-serv) sip
        Device (config-voi-sip) early-offer forced
        Device (config-voi-sip) end 
        
         
         
        Step 4end
         

        Exits to privileged EXEC mode.

         

        Verifying and Troubleshooting Cisco UBE Mid-call Re-INVITE/UPDATE Consumption

        Perform this task to verify mid-call Re-INVITE/UPDATE routing support on Cisco UBE

        SUMMARY STEPS

          1.    enable

          2.    debug ccsip all

          3.    debug voip ccapi inout


        DETAILED STEPS
          Step 1   enable

          Enables privileged EXEC mode.



          Example:
          Device> enable
          
          Step 2   debug ccsip all

          Use this command to enable SIP related debugging.



          Example:
          Device# debug ccsip all
          Received:
          INVITE sip:5555555555@[2208:1:1:1:1:1:1:1118]:5060 SIP/2.0
          Via: SIP/2.0/UDP [2208:1:1:1:1:1:1:1115]:5060;branch=z9hG4bK83AE3
          Remote-Party-ID: <sip:2222222222@[2208:1:1:1:1:1:1:1115]>;party=calling;screen=no;privacy=off
          From: <sip:2222222222@[2208:1:1:1:1:1:1:1115]>;tag=627460F0-1259
          To: <sip:5555555555@[2208:1:1:1:1:1:1:1118]>
          Date: Tue, 01 Mar 2011 08:49:48 GMT
          Call-ID: B30FCDEB-431711E0-8EDECB51-E9F6B1F1@2208:1:1:1:1:1:1:1115
          Supported: 100rel,timer,resource-priority,replaces
          Require: sdp-anat
          Min-SE:  1800
          Cisco-Guid: 2948477781-1125585376-2396638033-3925258737
          User-Agent: Cisco-SIPGateway/IOS-15.1(3.14.2)PIA16
          Allow: INVITE, OPTIONS, BYE, CANCEL, ACK, PRACK, UPDATE, REFER, SUBSCRIBE, NOTIFY, INFO, REGISTER
          CSeq: 101 INVITE
          Max-Forwards: 70
          Timestamp: 1298969388
          Contact: <sip:2222222222@[2208:1:1:1:1:1:1:1115]:5060>
          Expires: 180
          Allow-Events: telephone-event
          Content-Type: application/sdp
          Content-Disposition: session;handling=required
          Content-Length: 495
          v=0
          o=CiscoSystemsSIP-GW-UserAgent 7880 7375 IN IP6 2208:1:1:1:1:1:1:1115
          s=SIP Call
          c=IN IP6 2208:1:1:1:1:1:1:1115
          t=0 0
          a=group:ANAT 1 2
          m=audio 17836 RTP/AVP 0 101 19
          c=IN IP6 2208:1:1:1:1:1:1:1115
          a=mid:1                                                
          a=rtpmap:0 PCMU/8000
          a=rtpmap:101 telephone-event/8000
          a=fmtp:101 0-16
          a=rtpmap:19 CN/8000
          a=ptime:20
          m=audio 18938 RTP/AVP 0 101 19
          c=IN IP4 9.45.36.111
          a=mid:2                                                
          a=rtpmap:0 PCMU/8000
          a=rtpmap:101 telephone-event/8000
          a=fmtp:101 0-16
          a=rtpmap:19 CN/8000
          a=ptime:20
          “Received: 
          INVITE sip:2222222222@[2208:1:1:1:1:1:1:1117]:5060 SIP/2.0
          Via: SIP/2.0/UDP [2208:1:1:1:1:1:1:1116]:5060;branch=z9hG4bK38ACE
          Remote-Party-ID: <sip:5555555555@[2208:1:1:1:1:1:1:1116]>;party=calling;screen=no;privacy=off
          From: <sip:5555555555@[2208:1:1:1:1:1:1:1116]>;tag=4FE8C9C-1630
          To: <sip:2222222222@[2208:1:1:1:1:1:1:1117]>;tag=1001045C-992
          Date: Thu, 10 Feb 2011 12:15:08 GMT
          Call-ID: 5DEDB77E-ADC11208-808BE770-8FCACF34@2208:1:1:1:1:1:1:1117
          Supported: 100rel,timer,resource-priority,replaces,sdp-anat
          Min-SE:  1800
          Cisco-Guid: 1432849350-0876876256-2424621905-3925258737
          User-Agent: Cisco-SIPGateway/IOS-15.1(3.14.2)PIA16
          Allow: INVITE, OPTIONS, BYE, CANCEL, ACK, PRACK, UPDATE, REFER, SUBSCRIBE, NOTIFY, INFO, REGISTER
          CSeq: 101 INVITE
          Max-Forwards: 70
          Timestamp: 1297340108
          Contact: <sip:5555555555@[2208:1:1:1:1:1:1:1116]:5060>
          Expires: 180
          Allow-Events: telephone-event
          Content-Type: application/sdp
          Content-Length: 424
          v=0
          o=CiscoSystemsSIP-GW-UserAgent 8002 7261 IN IP6 2208:1:1:1:1:1:1:1116
          s=SIP Call
          c=IN IP6 2208:1:1:1:1:1:1:1116
          t=0 0
          m=image 17278 udptl t38
          c=IN IP6 2208:1:1:1:1:1:1:1116
          a=T38FaxVersion:0
          a=T38MaxBitRate:14400
          a=T38FaxFillBitRemoval:0
          a=T38FaxTranscodingMMR:0
          a=T38FaxTranscodingJBIG:0
          a=T38FaxRateManagement:transferredTCF
          a=T38FaxMaxBuffer:200
          a=T38FaxMaxDatagram:320
          a=T38FaxUdpEC:t38UDPRedundancy
          
          Step 3   debug voip ccapi inout


          Example:
          The voice gateway sets up negotiating capability with the terminating VoIP leg.
          *Mar  1 15:36:05.028: //45/xxxxxxxxxxxx/CCAPI/cc_api_caps_ind: (dstVdbPtr=0x637E
          C1E0, dstCallId=0x2C, srcCallId=0x2D,
               caps={codec=0x4, fax_rate=0x2, vad=0x2, modem=0x0
                     codec_bytes=20, signal_type=2})
          *Mar  1 15:36:05.028: //45/xxxxxxxxxxxx/CCAPI/
          cc_api_caps_ind:
           (Playout: mode 0,
           initial 60,min 40, max 300) 
          

          The capabilities are acknowledged for both call legs.



          Example:
          *Mar  1 15:36:05.028: //45/xxxxxxxxxxxx/CCAPI/cc_api_caps_ack: (dstVdbPtr=0x637E
          C1E0, dstCallId=0x2C, srcCallId=0x2D,
               caps={codec=0x4, fax_rate=0x2, vad=0x2, modem=0x0
                     codec_bytes=20, signal_type=2, seq_num_start=2944})
          *Mar  1 15:36:05.028: //44/xxxxxxxxxxxx/CCAPI/cc_api_caps_ack: (dstVdbPtr=0x62EC
          61A4, dstCallId=0x2D, srcCallId=0x2C,
               caps={codec=0x4, fax_rate=0x2, vad=0x2, modem=0x0
                     codec_bytes=20, signal_type=2, seq_num_start=2944})
          *Mar  1 15:36:05.032: //44/xxxxxxxxxxxx/CCAPI/cc_api_voice_mode_event: callID=0x2C
          *Mar  1 15:36:05.032: //44/45F2AAE28044/CCAPI/cc_api_voice_mode_event: Call Pointer =634A430C
          *Mar  1 15:36:05.032: //44/xxxxxxxxxxxx/SSAPP:-1:-1/sess_appl: ev(52=CC_EV_VOICE
          _MODE_DONE), cid(44), disp(0)
          *Mar  1 15:36:05.032: //44/45F2AAE28044/SSAPP:10002:21/ssaTraceSct:
          Router#
          Router# cid(44)st(SSA_CS_ACTIVE)ev(SSA_EV_VOICE_MODE_DONE)
          oldst(SSA_CS_CONFERENCING)cfid(21)csize(2)in(1)fDest(1)
          *Mar  1 15:36:05.032: //44/45F2AAE28044/SSAPP:10002:21/ssaTraceSct: -cid2(45)st2
          (SSA_CS_ACTIVE)oldst2(SSA_CS_ALERT_RCVD)
          *Mar  1 15:36:05.032: //44/45F2AAE28044/SSAPP:10002:21/ssaIgnore: cid(44), st(SS
          A_CS_ACTIVE),oldst(5), ev(52)
          Router#
          Router#! digit punched
          Router#
          

          The phone at the terminating gateway enters digit1.



          Example:
          *Mar  1 15:36:11.204: //45/xxxxxxxxxxxx/CCAPI/cc_api_call_digit_begin: (dstVdbPtr=0x637EC1E0, dstCallId=0x2C, srcCallId=0x2D,
              digit=1, digit_begin_flags=0x0, rtp_timestamp=0x0
              rtp_expiration=0x0, dest_mask=0x2)
          *Mar  1 15:36:11.504: //45/xxxxxxxxxxxx/CCAPI/cc_api_call_digit_end: (dstVdbPtr=
          0x637EC1E0, dstCallId=0x2C, srcCallId=0x2D,
              digit=1,duration=300,xruleCallingTag=0,xruleCalledTag=0, dest_mask=0x2), digit_tone_mode=0
          

          The phone at the terminating gateway enters digit 2.



          Example:
          *Mar  1 15:36:11.604: //45/xxxxxxxxxxxx/CCAPI/cc_api_call_digit_begin: (dstVdbPt
          r=0x637EC1E0, dstCallId=0x2C, srcCallId=0x2D,
              digit=2, digit_begin_flags=0x0, rtp_timestamp=0x0
              rtp_expiration=0x0, dest_mask=0x2)
          *Mar  1 15:36:11.904: //45/xxxxxxxxxxxx/CCAPI/cc_api_call_digit_end: (dstVdbPtr=
          0x637EC1E0, dstCallId=0x2C, srcCallId=0x2D,
              digit=2,duration=300,xruleCallingTag=0,xruleCalledTag=0, dest_mask=0x2), digit_tone_mode=0
          Router#
          Router#
          *Mar  1 15:36:14.476: //-1/xxxxxxxxxxxx/CCAPI/cc_handle_periodic_timer: Calling
          the callback, ccTimerctx - 0x628B6330
          *Mar  1 15:36:14.476: //-1/xxxxxxxxxxxx/CCAPI/ccTimerStart: ccTimerctx - 0x628B6330
          Router#
          Router# !call hung up  The user at the terminating gateway hangs up the call.
          Router#
          

          Mid Call Codec Preservation

          You can enable or disable codec negotiation in the middle of a call. This method defines whether a codec can be negotiated after a call has been initiated.

          Configuring Mid Call Codec Preservation at the Global Level

          SUMMARY STEPS

            1.    enable

            2.    configure terminal

            3.    voice service voip

            4.    sip

            5.    midcall-signaling preserve-codec

            6.    exit


          DETAILED STEPS
             Command or ActionPurpose
            Step 1 enable


            Example:
            Device> enable
             

            Enables privileged EXEC mode.

            • Enter your password if prompted.
             
            Step 2 configure terminal


            Example:
            Device# configure terminal
             

            Enters global configuration mode.

             
            Step 3 voice service voip


            Example:
            Device(config)# voice service voip
             

            Enters voice service VoIP configuration mode.

             
            Step 4 sip


            Example:
            Device(conf-voi-serv)# sip
             

            Enters voice service VoIP SIP configuration mode.

             
            Step 5 midcall-signaling preserve-codec


            Example:
            Device(conf-serv-sip)# midcall-signaling preserve-codec
             

            Disables codec negotiation in the middle of a call and preserves the codec negotiated before the call.

             
            Step 6 exit


            Example:
            Device(conf-serv-sip)# exit
             

            Exits voice service SIP configuration mode and returns to global configuration mode.

             

            Configuring Mid Call Codec Preservation at the Dial Peer Level

            SUMMARY STEPS

              1.    enable

              2.    configure terminal

              3.    dial-peer voice dial-peer tag voip

              4.    voice-class sip midcall-signaling preserve-codec

              5.    exit


            DETAILED STEPS
               Command or ActionPurpose
              Step 1 enable


              Example:
              Device> enable
               

              Enables privileged EXEC mode.

              • Enter your password if prompted.
               
              Step 2 configure terminal


              Example:
              Device# configure terminal
               

              Enters global configuration mode.

               
              Step 3 dial-peer voice dial-peer tag voip


              Example:
              Device(config)# dial-peer voice  2  voip
               

              Enters dial-peer voice configuration mode.

               
              Step 4 voice-class sip midcall-signaling preserve-codec


              Example:
              Device(conf-dial-peer)# voice-class sip midcall-signaling preserve-codec
               

              Disables codec negotiation in the middle of a call and preserves the codec negotiated before the call.

               
              Step 5 exit


              Example:
              Device(config-dial-peer)# exit
               

              Exits dial-peer voice configuration mode and returns to global configuration mode.

               

              Example: Configuring Mid Call Codec Preservation at the Global Level

              Example: Configuring Mid Call Codec Preservation at the Global Level

              Device(config)# voice service voip
              Device(conf-voi-serv)# no ip address trusted authenticate
              Device(conf-voi-serv)# allow-connections sip to sip
              Device(conf-voi-serv)# sip
              Device(conf-serv-sip)# midcall-signaling preserve-codec
              

              Example: Configuring Mid Call Codec Preservation at the Dial Peer Level

              Example: Configuring Mid Call Codec Preservation at the Dial Peer Level

              dial-peer voice 107 voip
               destination-pattern 74000
               session protocol sipv2
               session target ipv4:9.45.36.9
               incoming called-number 84000
               voice-class codec 1 offer-all
              !
              dial-peer voice 110 voip
               destination-pattern 84000
               session protocol sipv2
               session target ipv4:9.45.35.2
               incoming called-number 74000
               voice-class codec 1 offer-all
               voice-class sip midcall-signaling preserve-codec
              !