AF
Asterisk Forum
обсуждения телефонии, VoIP и IP-PBX
12разделов
5 423тем
34 385сообщений
← К списку тем

набор номера после ввода идентификатора

Asterisk IP PBX 8 сообщений 27.12.2010 11:52 - 30.12.2010 10:18
#1 27.12.2010 11:52

набор номера после ввода идентификатора


Есть список идентификаторов клиентов и связанный с каждым идентификатором телефонный номер.

Нужно сделать такую штуку:

Звонит человек, вводит код клиента (6 цифр) и Астериск набирает номер, привязанный к этому коду.

В списке порядка 60 кодов/номеров, обновляется ежедневно.

Asterisk - FreePBX 2.7

В какую сторону вообще смотреть и возможно ли реализовать такое?
#2 27.12.2010 12:00

а где эти номера?

можно AGI или функции номерного плана.
а можно и другими способами...
#3 27.12.2010 12:13

список идентификаторов и номеров содержится в csv файле, который ежедневно выкладывается на FTP-сервер.
#4 27.12.2010 12:25

проще всего на мой взгляд, сделать AGI

например так
Code:
#!/bin/bash
while read -e ARG && [ "$ARG" ] ; do :; done # variables not needed
unqarg=` echo $1 | sed -e 's/"//g'`
checkresults() {
while read line
do
case ${line:0:4} in
"200 " ) echo $line >&2
return;;
"510 " ) echo $line >&2
return;;
"520 " ) echo $line >&2
return;;
* ) echo $line >&2;; #keep on reading those Invlid command
esac
done
}

if grep awk и тп...

echo "set variable ok \"1\""
checkresults
#5 28.12.2010 13:52

Оффтопик:
Я найду тут хоть один thread, который заканчивается "Спасибо, класс! Всё получилось! Вот такой код...."? Или народ вроде adt2к или anest тут даже "спс" не получают? Evil or Very Mad

_________________
А по клямсам? За некузявость?
Людмила Петрушевская. "Лингвистические сказочки"
#6 28.12.2010 15:30

Oxana коммерческая техподдржка получает больше благодарностей, чем бесплатная, я не имею ввиду деньги Smile
и это по большей части советский менталитет такой, заграницей более благодарные люди Smile

_________________
Intel Core 2 Duo E6400 @ 2.40GHz / 6GB / 160GB
Gentoo Linux 2.6.32-r7 || Asterisk 1.8.0 | SFA | Linksys SPA922 + D-Link DPH-300S + D-Link DVG-7111S + 3 x Huawei E1550
#7 29.12.2010 19:09

Quote:
Оффтопик:
Я найду тут хоть один thread, который заканчивается "Спасибо, класс! Всё получилось! Вот такой код...."?


так не получилось пока. Smile как получится - будет код.

за совет с AGI - спасибо.
#8 30.12.2010 10:18

в общем, сделал через dialplan

в tools->custom destinations добавил get-by-id,s,1

в extensions_custom.conf такое:
Code:

[get-by-id]
exten => s,1,Noop()
exten => s,n,Answer()
exten => s,n,Read(PIN,enter-password,3,,,5)
exten => s,n,Set(NUM=${SHELL(grep ${PIN} /export/download/requests.csv | awk '{split($1,a,",")} {printf "%s", a[2]}')})
exten => s,n,Dial(Local/${NUM}@from-internal/n,,tT)
exten => s,n,Hangup()



вроде работает.