Как сопоставить номер телефона к имени средствами asterisk?

Подключился к мультифону (3 номера), все номера завел на asterisk

register => номер@multifon.ru:password:номер@sbc.megafon.ru:5060/номер

в extensions.conf

; Входящие вызовы
[incomming]
exten=> s,1,Set(DID=${EXTEN}) ;определяем номер на который поступил звонок
exten=> s,n,Goto(ext-did-catchall); перебрасываем входящий на exten=на который нам поступил входящий

;yyyyyyyyyyy
exten=> yyyyyyyyyyy,n,Dial(SIP/100/${CALLERID(NUM)},60,r)
;wwwwwwww
exten=> wwwwwwww,n,Dial(SIP/100/${CALLERID(NUM)},60,r)

При входящих звонках все адресуется на внутренний номер 100.

написали js скрипт, который в сплывающем окошке выводит номер звонящего и номер на который звонят.

необходимо присвоить номеру на который звонят ИМЯ, и вытаскивать эти данный через ami

Возможно в конфигах asteriska привязать имя к номеру или нет?
  • Вопрос задан
  • 5211 просмотров
Решения вопроса 1
@Lanched
"записная книжка" в формате ael, с использованием mysql и realtime:
===extensions.ael===
context input-pbx
{
_X. =>
{
Set(tempvar=${REALTIME_FIELD(notebook,number,${CALLERID(number)},cid)});
if ( !${ISNULL(${tempvar})} )
{
Set(CALLERID(name)=${tempvar});
} ;

verbose(1,KIR> ${CALLERID(num)} позвонил на номер ${EXTEN}.);
Set(CDR(accountcode)=${EXTEN});
jump ${EXTEN}@input-pbc;
};
};//input-pbx end
====

===extconfig.conf=== (настройка realtime)
notebook => mysql,general,notebook
======

в mysql табличка из двух столбцов: number и cid.

все проверено и работает.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Если номеров, на которые звонят, не так уж много, не проще ли создать массив соответствий имен и номеров прямо в скрипте?
Или, в крайнем случае, создать таблицу соответствий в AstDB/MySQL/whatever и проверять на соответствие в дайлплане.
Касательно Вашего вопроса - у любой внешней линии есть имя, оно в начале конфига линии указывается в квадратных скобках.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы