This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
сервис_asterisk [2025/08/06 06:26] val [Asterisk ARI] |
сервис_asterisk [2026/09/12 07:51] (current) val [Использование AstDB для перенаправления вызовов] |
||
|---|---|---|---|
| Line 302: | Line 302: | ||
| ; voip1.un и server.corp.un (курс CGP) одна и та же система | ; voip1.un и server.corp.un (курс CGP) одна и та же система | ||
| ; приходится подключаться к ней с разных портов :) | ; приходится подключаться к ней с разных портов :) | ||
| + | ; !!! Может не работать из-за фаервола комплекса, использовать udp-transport-1 !!! | ||
| [udp-transport-2] | [udp-transport-2] | ||
| Line 511: | Line 512: | ||
| ==== Шаблон конфигурации для осуществления исходящих вызовов ==== | ==== Шаблон конфигурации для осуществления исходящих вызовов ==== | ||
| + | |||
| + | * Тестирование доступности через [[Утилита netcat]] | ||
| <code> | <code> | ||
| Line 821: | Line 824: | ||
| === Создание базы данных === | === Создание базы данных === | ||
| - | * [[https://wiki.asterisk.org/wiki/display/AST/MySQL+CDR+Backend|MySQL CDR Backend]] | + | * [[https://community.asterisk.org/t/howto-cdr-with-mysql/20505|HOWTO: CDR with MySQL]] |
| <code> | <code> | ||
| Line 2254: | Line 2257: | ||
| </code><code> | </code><code> | ||
| ... | ... | ||
| - | exten => voip1_00000X,1,Dial(SIP/4NN,,m(incoming)t) | + | exten => voip1_00000X,1,Answer() |
| + | exten => voip1_00000X,n,Dial(SIP/4NN,,m(incoming)t) | ||
| </code> | </code> | ||
| ===== Синтез речи с использованием пакета Festival ===== | ===== Синтез речи с использованием пакета Festival ===== | ||
| Line 2332: | Line 2336: | ||
| === Использование AstDB === | === Использование AstDB === | ||
| - | * [[#Перенаправление звонков]] | + | * [[#Использование AstDB для перенаправления вызовов]] |
| ===== AstDB ===== | ===== AstDB ===== | ||
| Line 2401: | Line 2405: | ||
| </code> | </code> | ||
| + | |||
| + | * Вариант 2 через приложение Read(переменная,[аудиофайл],[макс_цифр],[опции],[попытки],[таймаут]) | ||
| + | <code> | ||
| + | exten => 308,1,Answer() | ||
| + | exten => 308,n,Read(MYPHONENUM,beep,11,,1,30) | ||
| + | exten => 308,n,Set(DB(redirect/${CALLERID(num)})=${MYPHONENUM}) | ||
| + | exten => 308,n,Playback(beep) | ||
| + | exten => 308,n,SayDigits(${MYPHONENUM}) | ||
| + | exten => 308,n,Hangup() | ||
| + | </code> | ||
| ===== Подсчет количества одновременных вызовов абонента ===== | ===== Подсчет количества одновременных вызовов абонента ===== | ||
| Line 2846: | Line 2860: | ||
| === Управление Asterisk через ARI === | === Управление Asterisk через ARI === | ||
| - | |||
| - | * [[http://ari.asterisk.org/|Asterisk REST API Browser]] | ||
| <code> | <code> | ||
| # curl http://localhost:8088/ari/endpoints?api_key=asterisk:asterisk | # curl http://localhost:8088/ari/endpoints?api_key=asterisk:asterisk | ||
| </code> | </code> | ||
| + | |||
| + | * [[Сервис SSH#Local Port Forwarding Tunnel]] | ||
| + | * [[http://ari.asterisk.org/|Asterisk REST API Browser]] | ||
| === Мониторинг Asterisk через ARI === | === Мониторинг Asterisk через ARI === | ||
| Line 2859: | Line 2874: | ||
| * nodejs | * nodejs | ||
| <code> | <code> | ||
| - | debian9# curl -sL https://deb.nodesource.com/setup_9.x | sudo -E bash - | ||
| - | |||
| # apt install -y nodejs npm | # apt install -y nodejs npm | ||
| Line 2868: | Line 2881: | ||
| </code> | </code> | ||
| - | * python | + | * [[Язык программирования Python]] |
| <code> | <code> | ||
| # apt install python3-websocket | # apt install python3-websocket | ||
| + | или | ||
| + | $ pip install websocket-client | ||
| # python3 | # python3 | ||
| </code><code> | </code><code> | ||
| + | >>> | ||
| import websocket | import websocket | ||
| - | def on_message(wsapp, message): | + | def handle_message(wsapp, message): |
| print(message) | print(message) | ||
| - | wsapp = websocket.WebSocketApp("ws://localhost:8088/ari/events?api_key=asterisk:asterisk&app=my-first-app", on_message=on_message) | + | wsapp = websocket.WebSocketApp("ws://localhost:8088/ari/events?api_key=asterisk:asterisk&app=my-first-app", on_message=handle_message) |
| wsapp.run_forever() | wsapp.run_forever() | ||
| - | |||
| - | |||
| </code><code> | </code><code> | ||
| *CLI> ari show apps | *CLI> ari show apps | ||
| Line 2909: | Line 2923: | ||
| </code> | </code> | ||
| + | * Python приложение [[Язык программирования Python#ari_rec.py]] | ||
| ==== XMPP ==== | ==== XMPP ==== | ||