Очевидно рукописный кусок сценария, при условии что у директора, допустим номер 111
exten => _ZXX/111,1,здесь проверяем - нет ли уже текущего разговора для вызываемого ${EXTEN} в статусе ACK, и если есть, то надо
Barge: Barge in on both channels. The manager channel is joined onto the agent and client channels, and all parties can hear each other. Be warned, if the original agent leaves the call, the call is dropped. This is not a 3-way call.
(However you can barge in, and when comfortable, initiate a 3way call to your extension so you can continue the call without the agent. This procedure varies from client to client (soft/hard phones))
Код: Выделить всё
;barge
exten => _*224x.#,1,Macro(user-callerid,)
exten => _*224x.#,n,Answer
exten => _*224x.#,n,NoCDR
exten => _*224x.#,n,Wait(1)
exten => _*224x.#,n,ChanSpy(SIP/${EXTEN:4},qB)
exten => _*224x.#,n,Hangup
Оригинальный разговор - переслать канал абонента на Hold, а канал абонента назначения - соединить с оригинирующим.
Как-то примерно так.