Несколько лет назад, я работал в компании Rittal. Одним из проектов, которыми я занимался, было внедрение Астериска.

Тема была для меня новая, и чтобы помочь себе и, возможно, кому-то еще, я завел у себя на сайте раздел, посвященный этому процессу.

Из Риттала я ушел, раздел забросил, но сам Астериск не перестает меня восхищать. Кроме того, как ни странно, иногда люди находят в бездне интернета, что-то спрашивают, делятся мнениями и тд. Спасибо вам, это очень приятно!

Я постараюсь в ближайшее время выложить пару-тройку новых статей, посвященных Астериску. А может и попробую возродить весь раздел...



Повтор последнего номера 19.05.2011

Еще одна "неподкатная" статейка - как повторить последний набранный номер? Все просто...

Во-первых, если пошел набор реального номера, его нужно сохранить (в моем случае - в AstDB).

Я вписал в контекст набора номера с SIP телефона следующую строчку (она в середине):

; это не набор системной функции, а набор номера
exten => _X.,1,NoOp(transfer to internal_phones_outgoing_dial)

; Записываем номер в AstDB
exten => _X.,n,Set(DB(last_dial/${CALLERID(NUM)})=${EXTEN})

exten => _X.,n,Gosub(internal_phones_outgoing_dial,${EXTEN},1)

Во-вторых, при наборе системного номера (в моем случае - **) этот номер нужно восстановить из базы и набрать:

; ** - повтор последнего номера
exten => **,1,NoOp(system functions - redial)
; если номер не задан, то уходим на возврат
exten => **,n,GotoIF($["${DB(last_dial/${CALLERID(NUM)})}" = ""]?end)
; набираем номерок
exten => **,n,Gosub(internal_phones_outgoing_dial,${DB(last_dial/${CALLERID(NUM)})},1)
exten => **,n(end),Return

 

Музыка во время ожидания 10.05.2011

Совсем короткая статья, посвященная настройке музыки во время ожидания.

 
Читать дальше...

1