LINUX.ORG.RU

Вопрос по dialplan'у asterisk'а

 


2

3

Переходим на IP-телефонию, купил книгу O'Reilly, купил сервер, купил кучу телефонов, в т.ч. один с пристяжной клавиатурой с BLF-клавишами. Завёл всё (на Asterisk 13.13.1), что хотел, но одну фичу - никак. Не могу завести direct call pickup на этой клавиатуре. Т.е. call pickup по стандартному *8 работает, а хочется, чтобы можно было перехватить секретарю заданный звонок по нажатию на моргающую BLF-клавишу во время звонка. Внутренние звонки перехватываются, звонок извне - никак. Строчка - стандартнейшая:

exten => _**XXX,1,Pickup(${EXTEN:2}&${EXTEN:2})
, dialplan для теста сократил до 2х контекстов (internal и from_sipprovider)

в консольке при попытке перехватить входящий на 123 «из города» звонок с помощью **123:

app_directed_pickup.c:367 pickup_exec: No target channel found for 123@internal.
app_directed_pickup.c:367 pickup_exec: No target channel found for 123@from_sipprovider.
Кручения переменной PICKUPMARK приводят к абсолютно тому же результату. Ставить FreePBX и прочие надстройки - не хочется, хочется самому разобраться. Что я пропустил?

Deleted

Последнее исправление: Deleted (всего исправлений: 3)
Ответ на: комментарий от Deleted

Я могу тебе на любой номер (только на платный телефон не переводи :)) позвонить для проверки, чтобы не тратить твои деньги

лучше отправь смс со словом «пикап» на номер 8888 %) щютка

короче, получилось абсолютно аналогично. да, признаю, я схалтурил с провайдером и просто поднял рядом с астером yate на соседнем порту т.к. не смог петлей зацепить свой номер на три точки сразу (он же еще и домой подключен). но транк - он и в африке транк.

сценарий аналогичный - с провайдера (yate) поступает звонок в контекст from-provider, который падает на условного секретаря 101. Секретарь 103, видя что 101 пошел курить бамбук, жмет **101 и перехватывает вызов.

код следующий

[internal]
exten => _XXX,1,Set(_PICKUPMARK=${EXTEN})
exten => _XXX,n,Dial(SIP/${EXTEN})
exten => _**XXX,1,Pickup(${EXTEN:2}@PICKUPMARK)

[from-provider]
exten => _74991234567,1,Set(_PICKUPMARK=101)
exten => _74991234567,n,Dial(SIP/101)

как я и описал суть - где и как ты выставляешь PICKUPMARK. ее надо ставить прямо перед Dial в контексте вызова, и она должна соответствовать экстеншену на который приземляется вызов. могу глянуть как выставить несколько pickupmark, но чую либо циклом, либо через &.

upcFrost ★★★★★
()
Последнее исправление: upcFrost (всего исправлений: 1)
Ответ на: комментарий от upcFrost

Чорт, вот в чём дело. Я не допетрил, что в PICKUPMARK надо локальный экстеншн писать. И я не понял, почему то Set(_PICKUPMARK), то Set(__PICKUPMARK) используется? Что ставить правильно?

Скорее бы оптику сварили, черти :(

Deleted
()
Ответ на: комментарий от Deleted

И я не понял, почему то Set(_PICKUPMARK), то Set(__PICKUPMARK) используется? Что ставить правильно?

это глубина наследования параметра. __ - бесконечная. в целом пофиг

upcFrost ★★★★★
()
Ответ на: комментарий от Deleted

нзч, отметь как решенную если все збс :) виртуалку пока не удаляю на всякий случай

upcFrost ★★★★★
()
Последнее исправление: upcFrost (всего исправлений: 1)
Ответ на: комментарий от Deleted

?

Не, штука неплохая но имхо астер лучше. У yate есть нифиговый плюс что она нормально умеет h.323, юзал её как sip-h.323 гейт

upcFrost ★★★★★
()
Ответ на: комментарий от Deleted

Ну знание альтернатив всегда лучше, чем незнание. За это и спасибо :)

а, в этом плане. ну, yate по моему опыту довольно занятная штука, правда у нас был принцип «гуй везде где можно» (не все нормально умели консоль, да и проще сказать куда ткнуть чем диктовать что набрать, особенно когда отпуск), потому юзали исключительно как шлюз до H.323. Там станция капризная была, а у астера реализация h.323 такая что лучше б ее вообще не было. Yate завелась за два часа, с астером две недели сношались и в итоге хрен.

upcFrost ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.