1

Я хочу дать своим клиентам возможность нажать 1, если они не хотят слушать музыку в ожидании. Иногда раздражает продолжать слушать одну и ту же песню. Anywyas это то, что у меня есть:

queues.conf:

[general]
    persistentmembers=yes

[Support]
    context=Common-Queue    
    member=>SIP/Jhon
    member=>SIP/Tom

extensions.conf:

...
same => n,Playback(Press1ToListenToNoMusicOnHold) ; plays audio file that says that caller may press 1 if he wishes to listen to no music on hold
same => n,Queue(SupportQueue,Tt)  ; option T is so that caller can exit queue by pressing digits jumping to an extension
... etc

; context Common-Queue
[Common-Queue]
exten => 1,1,NoOp(enable user to not listen to music)
same => n,Set(CHANNEL(musicclass)=no-music) ; 
same => n,Queue(Support) ; enter support queue again
same => n,Hangup()

В этом сценарии музыка в режиме удержания удаляется, если пользователь нажимает 1 и пользователь возвращается в очередь поддержки (это именно то, что мне нужно). Проблема с этим решением состоит в том, что если пользователь нажимает 1, то он теряет свою позицию в очереди. Как я могу решить эту проблему без потери клиентом своей позиции в очереди? Я хочу дать своим клиентам возможность ждать без музыки в ожидании, не теряя своего места в очереди.

1 ответ1

1

Наконец-то нашел способ сделать это. Если вы посмотрите на команду очереди, она выглядит так:

Очередь (ИмяОчереди [, опции [, URL [, announceoverride [, таймаут [, AGI [, макро [, GoSub [, правило [позиция]]]]]]]]])

Когда вы выходите из очереди, переменная QUEUEPOSITION заполняется той позицией, которая была у вас в очереди. Таким образом, решение состоит в том, чтобы повторно войти в очередь поддержки как:

 same => n,Queue(Support,,,,,,,,,${QUEUEPOSITION})

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .