How to put call on hold via cli or ami or agi

I tried already to use Park app in ami but the point that is always hangup the other channel for example I have this two channels

PJSIP/600-00000076
PJSIP/300-00000075

and the already bridged and I want to put PJSIP/300-00000075 on hold and let the other channel do some stuff and then go back to PJSIP/300-00000075
I want to do that without any interaction from the phone just cli or ami not I tried this (AMI)

Action: Park
Channel: PJSIP/300-00000075
Timeout: 0

but the problem is that is hangup the other channel. so how can I put one channel on hold and let other channel do his stuff and then go back to him al by cli or ami
thks for helpers I hope I was clear after all my English not so good

You will probably need to use the two channel variant of the redirect action.

Alternatively, if it is B that you are parking, you could use the g option when dialling it.

1 Like

thks for you answer

but what do u mean “two channel variant of the redirect action” how can I do that?

https://wiki.asterisk.org/wiki/display/AST/Asterisk+13+ManagerAction_Redirect

See ExtraChannel

thks a lot that’s exactly what I need but one thing more

when I do that I put both channels on hold and they both hear the hold music

how can I make PJSIP/600-00000076 (the other channel) not hear the music and just hear the normal phone sound (the one you hear when pick up the phone before u dial nothing)

and again thks a lot

You can simulate dialtone using the Playtone application, but, if you are using VoIP phones, the dialtone is normally generated by the phone itself, and the there is no option to force the phone back into that state without dropping the call. (Dialtone is actually simulating a legacy feature. Mobile phones and VoIP phones don’t need it because you can do on hook dialing, and VoIP phones don’t need it because they don’t do anything approximating seizing a line until you have finished dialing. The purpose of dialtone was to let you know that the exchange was ready to accept digits, which is something that might not happen immediately, or might not happen at all, if it was too busy.)

Also note that you don’t have to park a call to effectively hold it.

so how exactly can I simulate hold action which act the same as press hold button on the phone (you know put the other channel on hold and on your side you hear the tones and can make a call)

the way u show is good but that the normal way to do that (or tricky way :smile: )

Why simulate it? Either use the phone’s transfer capabilities (e.g. SIP phones) or the Asterisk attended transfer feature.

This feels like someone has over specified the requirements forcing you to have to do low level work that is better done by built-in features.

If you have a functional requirement that is so tight that you cannot use standard features, you will need to provide use with a more complete description of that specification.

the scenario is like this

u call to hotel and ask for some info then the secretary told ok wait just a sec I check. and then she check in her computer or call to someone

and i know she can press on the hold button on phone and do what ever she want but i need to allow this option in the crm i build

and again thks for all help

You generally can’t force a SIP phone to do something, unless it provides its own interface. You can only hope to replicate similar (may not be exact) behavior in Asterisk.

ok so i believe i do like david said that the most close (actually it even the same)

thks for all