Автоматическая проверка баланса у разных провайдеров через Астериск


Т.к. потренировался в подключении к астериску разных провайдеров, захотелось, как-то просто получать у них всех баланс счета.

У некоторых провайдеров, на пример - НСС, zadarma, sipnet, comtube, есть прямые телефоны для получения сразу баланса голосом, а у некоторых, типа МТС, нужно донабирать цифирки.

В итоге после некоторых тренировок сделал, чтобы при звонке на определенный номер моего астериска, проходил автоматический обзвон провайдеров и можно было прослушать баланс на всех подключенных провайдерах.

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

Итоговая конфигурация extensions.conf

[get-balance]
exten => balance-all,1,Background(provider/mtt)
exten => balance-all,n,Dial(SIP/mtt/88003335358,,L(20000)g)
exten => balance-all,n,Background(provider/sipnet)
exten => balance-all,n,Dial(SIP/sipnet/00,,L(5000)g)
exten => balance-all,n,Background(provider/zadarma)
exten => balance-all,n,Dial(SIP/zadarma/1111,,L(7000)g)
exten => balance-all,n,Background(provider/comtube)
exten => balance-all,n,Dial(SIP/comtube/102,,L(7000)g)
exten => balance-all,n,Background(provider/ncc)
exten => balance-all,n,Dial(Dongle/dongle-ncc/10011,20,L(10000)g)
exten => balance-all,n,Playback(provider/mts)
exten => balance-all,n,Dial(Dongle/dongle-mts/111,60,M(balance-mts)L(8000))
exten => balance-all,n,Hangup

[macro-balance-mts]
exten => s,1,Wait(5)
exten => s,n,SendDTMF(1,1)
exten => s,n,Wait(1)
exten => s,n,SendDTMF(1,1)
exten => s,n,Wait(1)
exten => s,n,SendDTMF(1,1)

Файлы голосовых фраз подготавал по статье "Создание звукового файла для Asterisk с помощью Audacity". Основная идея, что файл нужно сделать частоту дискретизации — 8000 Гц и сохранить файл как WAV 16 bit PCM.

Соответственно, т.к. это была FreeBSD и настройки по умолчанию, звуки свалил /usr/local/share/asterisk/sounds/provider

В прицепе файлы фраз, записал как смог wink


ВложениеРазмер
comtube.wav12.87 КБ
mts.wav15.39 КБ
mtt.wav11.48 КБ
ncc.wav13.22 КБ
sipnet.wav19.1 КБ
zadarma.wav14.8 КБ
provider.tar.gz113.48 КБ