Subject: RE: [Sip] Question on CALL HOLD... [html]

From: "Christian Jansson" <[email-masked]>
Date: Fri, 12 Sep 2003 09:51:29 +0200

As hold is unidirectional in nature, I see no problem in letting
the UA (B) that received the HOLD invite also send a HOLD invite
in the other direction (to A) with a=inactive.
 
A                       B                       C
|     INVITE            |                       |
|---------------------->|                       |
|      200              |                       |
|<----------------------|                       |
|     ACK               |                       |
|---------------------->|                       |
|       RTP             |                       |
|<=====================>|                       |
|                       |                       |
|                       |                       |
|                       |                       |
| INVITE HOLD sendonly  |                       |
|---------------------->|                       |
|      200 recvonly     |                       |
|<----------------------|                       |
|     ACK               |                       |
|---------------------->|                       |
|     No RTP            |                       |
|                       |                       |
|                       |      INVITE           |
|  INVITE HOLD inactive |<----------------------|
|<----------------------|       200             |
|     200 inactive      |---------------------->|
|---------------------->|       ACK             |
|     ACK               |<----------------------|
|<----------------------|        RTP            |
|                       |<=====================>|
|
|                       |                       |
|                       |                       |
|                       |

Either A or B can now remove their part of the double-HOLD by sending
an INVITE to the other side with a=sendrecv. If the other side still
wants to keep its HOLD the response contains a=sendonly, or
if it also wants to remove its HOLD a=sendrecv.

This scenario does not seem to be described anywhere but I think
this should work even though some simpler implementations might want
to deny the user to do this because of the complexity of describing
to the user the state of the call.

/ Christian Jansson, Hotsip

> Hi,
>  
> I was going through call flow for CALL HOLD in the services 
> draft 
> http://www.ietf.org/internet-drafts/draft-ietf-sipping-service
> -examples-05.txt. and I had a simple question.
>  
> Assume a scenario where a UA is on HOLD, so it has received 
> the INVITE (hold) and has stopped sending the audio (media) 
> to the peer. Now assume that the party on HOLD receives a new 
> INVITE from another peer which it wants to take. A normal way 
> of doing this would be to put the existing call on hold and 
> accept the new call. But in this case the existing call is 
> already on HOLD, so what should the UA do.
>  
> -         Should it still send the INVITE (hold), but this 
> will reverse the direction of the audio (a=sendonly instead 
> of a=recvonly).
> -         Or Should it accept the new call w/o doing anything 
> with the existing call since it is already on HOLD. In this 
> case when the peer takes the existing call OFF HOLD, then 
> that would interfere with the audio on the new call.
> -         Should it go with the second option, but in 
> addition when the peer takes the call OFF HOLD, it should 
> respond back with a 200 OK that contains (a=sendonly) in the 
> SDP body, thus putting the peer on HOLD.
>  
> Appreciate your help on this.
>  
> - Ajay
> 

_______________________________________________
Sip mailing list  https://www1.ietf.org/mailman/listinfo/sip
This list is for NEW development of the core SIP Protocol
Use [email-masked] for questions on current sip
Use [email-masked] for new developments on the application of sip