User Tools

Site Tools


сервис_asterisk

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
сервис_asterisk [2025/08/06 06:26]
val [Asterisk ARI]
сервис_asterisk [2026/09/29 13:59] (current)
val [Голосовая почта]
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 927: Line 930:
 Чтобы запись разговора воспроизводилась прямо на странице CDR Viewer, нужно в файле ​ Чтобы запись разговора воспроизводилась прямо на странице CDR Viewer, нужно в файле ​
 /​var/​www/​html/​asterisk-cdr-viewer/​include/​functions.inc.php /​var/​www/​html/​asterisk-cdr-viewer/​include/​functions.inc.php
-заменить ​ строку:​+заменить строку ​145:
  
 echo " ​   <td class=\"​record_col\"><​a href=\"​download.php?​audio=$recorded_file.$system_audio_format\"​ title=\"​Listen to call recording\"><​img src=\"​templates/​images/​sound.png\"​ alt=\"​Call recording\"​ /></​a></​td>​\n";​ echo " ​   <td class=\"​record_col\"><​a href=\"​download.php?​audio=$recorded_file.$system_audio_format\"​ title=\"​Listen to call recording\"><​img src=\"​templates/​images/​sound.png\"​ alt=\"​Call recording\"​ /></​a></​td>​\n";​
Line 934: Line 937:
  
 echo " ​   <td class=\"​record_col\"><​a href=\"​download.php?​audio=$recorded_file.$system_audio_format\"​ title=\"​Listen to call recording\"><​img src=\"​templates/​images/​sound.png\"​ alt=\"​Call recording\"​ /></​a><​audio controls><​source src=\"​download.php?​audio=$recorded_file.$system_audio_format\"></​audio></​td>​\n";​ echo " ​   <td class=\"​record_col\"><​a href=\"​download.php?​audio=$recorded_file.$system_audio_format\"​ title=\"​Listen to call recording\"><​img src=\"​templates/​images/​sound.png\"​ alt=\"​Call recording\"​ /></​a><​audio controls><​source src=\"​download.php?​audio=$recorded_file.$system_audio_format\"></​audio></​td>​\n";​
 +
  
 </​code>​ </​code>​
Line 1799: Line 1803:
 ===== Голосовая почта ===== ===== Голосовая почта =====
  
-  * [[https://​community.asterisk.org/​t/​no-application-voicemail/​99717|No application ‘VoiceMail’]] +  * В ubuntu24 noload для всех, кроме нужного ([[https://​community.asterisk.org/​t/​no-application-voicemail/​99717|No application ‘VoiceMail’]]) 
 +  
 <​code>​ <​code>​
 ubuntu24# cat /​etc/​asterisk/​modules.conf ubuntu24# cat /​etc/​asterisk/​modules.conf
Line 1806: Line 1810:
 ... ...
 [modules] [modules]
 +autoload=yes
  
 ;noload => app_voicemail.so ;noload => app_voicemail.so
Line 1811: Line 1816:
 noload => app_voicemail_odbc.so noload => app_voicemail_odbc.so
 noload => res_pjsip_send_to_voicemail.so noload => res_pjsip_send_to_voicemail.so
-;;;server*CLI>​ module show like voicemail+... 
 +</​code><​code>​ 
 +server*CLI>​ module show like voicemail
 ... ...
 </​code><​code>​ </​code><​code>​
Line 1830: Line 1837:
  
 ;;;For IMAP ;;;For IMAP
-;;;debian# apt install asterisk-voicemail-imapstorage +;;;debian11# apt install asterisk-voicemail-imapstorage 
-;;;debian# cp /​etc/​dovecot/​private/​dovecot.pem /​usr/​local/​share/​ca-certificates/​dovecot.crt +;;;debian11/​ubuntu24# cp /​etc/​dovecot/​private/​dovecot.pem /​usr/​local/​share/​ca-certificates/​dovecot.crt 
-;;;debian# update-ca-certificates +;;;debian11/​ubuntu24# update-ca-certificates 
-;;;debian# service asterisk restart+;;;debian11/​ubuntu24# service asterisk restart
 ;​imapserver=server.corpX.un ;​imapserver=server.corpX.un
 ;​imapserver=localhost ;​imapserver=localhost
Line 2254: Line 2261:
 </​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 2340:
 === Использование AstDB === === Использование AstDB ===
  
-  * [[#Перенаправление звонков]]+  * [[#Использование AstDB для перенаправления вызовов]]
  
 ===== AstDB ===== ===== AstDB =====
Line 2401: Line 2409:
 </​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 2864:
  
 === Управление 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 2878:
   * 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 2885:
 </​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 2927:
 </​code>​ </​code>​
  
 +  * Python приложение [[Язык программирования Python#​ari_rec.py]]
 ==== XMPP ==== ==== XMPP ====
  
сервис_asterisk.1754450790.txt.gz · Last modified: 2025/08/06 06:26 by val