[asterisk-users] Asterisk as UAC: How to put call OnHold

Johannes Zweng john999888 at zweng.at
Mon Jan 16 03:57:20 CST 2012


Hi!

Many thanks for this hint. I will try this! :-)

A quick question: when doing this with "MusicOnHold()": will the SIP
server be aware that the call is placed onHold (i.e. will Asterisk
send the mentioned re-INVITE)?

The point is - if possible - we want the caller to hear the OnHold
Music from the SIP server. If not we would have to copy the MoH to our
Asterisk (and change it on our side too, when it changes at the
SIP-server).


Kind regards,
John



2012/1/16 Sammy Govind <govoiper at gmail.com>
>
> Hi,
>
> yes, please see MusicOnHold() Application. You can call this app in your dialplan. This however will use the default music class and the corresponding music files placed in the asterisk server. If you don't want to stream music from Asterisk server side, try creating a new MusiconHold Class without any proper directory. That way Asterisk would only complain that there is no file to be streamed.
>
> Regards,
> Sammy
>
> On Sat, Jan 14, 2012 at 6:25 AM, Johannes Zweng <john999888 at zweng.at> wrote:
>>
>> Hi!
>>
>> Maybe I am missing something or am a little blind at the moment, but I didn't find out how asterisk can place a call on hold when acting as user agent client to another SIP server.
>>
>> Scenario:
>> ----------
>> Asterisk registers to another SIP server (provider) as user agent.
>> An inbound call from this other SIP server comes in and arrives at asterisk.
>> Asterisk performs some actions in the dialplan and should place the call on hold after some time, so that the caller only hears the on hold music from my provider (not streamed by my Asterisk).
>>
>> Technically speaking I want asterisk to send a re-INVITE message containing an updated SDP body with the attribute "a=sendonly" or "a=inactive" added so that the SIP server of my provider (where Asterisk is registered to as user) will recognize that the call should be placed on hold.
>>
>>
>> A good example of what I want to achieve is presented in Section 2.1 of RFC 5359 (Session Initiation Protocol Service Examples) (http://tools.ietf.org/html/rfc5359#section-2.1) where "Bob" would be my Asterisk (as UAC), "Alice" is the external caller and "Proxy" is the provider's SIP server.
>>
>>
>> Question:
>> ----------
>> Is there any way to perform this from the dialplan or by means of the manager API? Is there an application like "Hold"?
>>
>>
>> Kind regards and greetings from Austria,
>> John :-)
>>



More information about the asterisk-users mailing list