Hold bridged call


Before asking let me explain the situation. A called asterisk, asterisk bridged A with B by Dial application. Reinvite is enabled. So A and B are communicating directly.

In this situation when A holds the call, Asterisk brings the rtp of B to itself.
My question is, why does it do that?
Is there anyway, where Asterisk holds(send as connection info in sdp) to B?



When I looked at the 1.6.0 code, there was no provision for Asterisk to initiate SIP holds, only to respond to them.

What i mean is when Asterisk receives Hold request from one channel A, it will send Hold( request to the bridged channel B on the other side. Currently it sends reinvite to B and sends its own IP. So it is not actually responding to a Hold request from A. I just want it to send Hold( instead of its own IP. Can you tell me why it does not have this provision? :-S

By the way, I am using asterisk 1.4.23. As it is known to be the most stable version. Is migrating to 1.6 a good choice?

As far as I can tell, it has no capability to send c=IN

I don’t know the answers to the other questions.

However, sending c=IN would prevent Asterisk from supplying music on hold.

What if i dont want to play music on hold, while a call is held? Can i do that changing some configurations?


Your music on hold file doesn’t have to be music.

For queues, there options to present ringback instead. If you can completely avoid answering, but can answer in a reasonable time (BT will cut off unanswered calls after about 8 minutes), it is better for the caller if you leave calls on queues ringing, as they don’t get charged for the waiting time.