When a SIP originating gateway receives an ISDN Suspend message, the originating gateway informs the terminating gateway that there is a temporary cessation of media; that is, the call is placed on hold. There are two ways that SIP gateways receive notice of a call hold. The first way is for the originating gateway to use a connection IP address of 0.0.0.0 (c=0.0.0.0) in the Session Description Protocol ( SDP). The information in the SDP is sent in a re-Invite to the terminating gateway. The second way is for the originating gateway to use a=sendonly in the SDP of a re-Invite.
Earlier than Cisco IOS Release 12.3(8)T, a SIP gateway could initiate call hold only by using c=0.0.0.0. As of Cisco IOS Release 12.3(8)T, a gateway can initiate call hold by using either c=0.0.0.0 or a=sendonly.
The purpose of the c=0.0.0.0 line is to notify the terminating gateway to stop sending media packets. When the hold is cancelled and communication is to resume, an ISDN Resume message is sent. The SIP originating gateway takes the call off hold by sending out a re-Invite with the actual IP address of the remote SIP entity in the c= line (in place of 0.0.0.0).
Multiple media fields (m-lines) in the SDP of a re-Invite message are used to indicate media forking, with each m-line representing one media destination. SIP gateways negotiate multiple media streams by using multiple m- and/or c-lines. When an originating gateway receives an ISDN Suspend on a gateway that has negotiated multiple media streams, all of the media streams are placed on hold. The originating gateway sends out a re-Invite that has a c= line that advertises the IP address as 0.0.0.0 on all streams. The originating gateway also mutes the SIP calls for each media stream so that no media is sent to the terminating gateway. When the originating gateway receives an ISDN Resume, it initiates a re-Invite with the original SDP and takes the call off hold.
If the media inactivity timer is configured on the network, the timer is stopped for all active streams. The purpose of the media inactivity timer is to monitor and disconnect calls if no Real-Time Control Protocol (RTCP) packets are received within a configurable time period. However, on initiating the call hold, the originating gateway disables the media inactivity timer for that particular call, so the call remains active. The terminating gateway behaves in the same way when it receives the call-hold re-Invite from the originating gateway. When the call resumes, the originating gateway re-enables the Media Inactivity Timer.
For information on the timer, see the “SIP Media Inactivity Timer” section.
All billing and accounting procedures are unaffected by the SIP: ISDN Suspend/Resume Support feature.