Инструменты пользователя

Инструменты сайта


сервис_asterisk

Различия

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

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
сервис_asterisk [2019/04/11 12:35]
val [Настройка CHAN_SIP каналов]
сервис_asterisk [2019/06/17 11:43] (текущий)
val [Настройка базового плана нумерации]
Строка 29: Строка 29:
 ==== Настройка CHAN_SIP каналов ==== ==== Настройка CHAN_SIP каналов ====
  
 +  * [[https://​asterisk-pbx.ru/​wiki/​asterisk/​cf/​chan_sip|Настройка SIP в Asterisk - sip.conf]]
   * [[http://​www.voip-info.org/​wiki/​view/​Asterisk+config+sip.conf|Asterisk config sip.conf]]   * [[http://​www.voip-info.org/​wiki/​view/​Asterisk+config+sip.conf|Asterisk config sip.conf]]
   * [[http://​www.voip-info.org/​wiki/​view/​Asterisk+sip+type|Matching incoming calls to users and peers]]   * [[http://​www.voip-info.org/​wiki/​view/​Asterisk+sip+type|Matching incoming calls to users and peers]]
Строка 140: Строка 141:
 allow=alaw allow=alaw
 aors=401 aors=401
-auth=auth401+auth=401
 ;​callerid=Ivanov I I<​401>​ ;​callerid=Ivanov I I<​401>​
 ;​set_var=MY-USER-ID=user1@corpX.un ;​set_var=MY-USER-ID=user1@corpX.un
Строка 153: Строка 154:
 remove_existing=yes remove_existing=yes
  
-[auth401]+[401]
 type=auth type=auth
 auth_type=userpass auth_type=userpass
Строка 162: Строка 163:
 type=registration type=registration
 transport=udp-transport-1 transport=udp-transport-1
-outbound_auth=voip1_00000X_auth+outbound_auth=voip1_00000X
 server_uri=sip:​voip1.un server_uri=sip:​voip1.un
 client_uri=sip:​00000X@voip1.un client_uri=sip:​00000X@voip1.un
Строка 169: Строка 170:
 contact_user=voip1_00000X contact_user=voip1_00000X
  
-[voip1_00000X_auth]+[voip1_00000X]
 type=auth type=auth
 auth_type=userpass auth_type=userpass
Строка 186: Строка 187:
 disallow=all disallow=all
 allow=alaw allow=alaw
-outbound_auth=voip1_00000X_auth+outbound_auth=voip1_00000X
 aors=voip1_00000X aors=voip1_00000X
 from_user=00000X from_user=00000X
Строка 218: Строка 219:
 exten => 301,​1,​Answer() exten => 301,​1,​Answer()
 exten => 301,​n,​Playback(hello-world) exten => 301,​n,​Playback(hello-world)
-exten => 301,n,SayDigits(X)+exten => 301,n,SayNumber(X)
 exten => 301,​n,​Hangup() exten => 301,​n,​Hangup()
  
Строка 532: Строка 533:
 server.corpX.un#​ cat extensions.conf server.corpX.un#​ cat extensions.conf
 </​code><​code>​ </​code><​code>​
-... 
 [default] [default]
 ... ...
Строка 665: Строка 665:
 </​code>​ </​code>​
  
-=== Настройка asterisk на запись CDR в СУБД ===+=== Настройка записи в БД ===
  
-  * [[http://​www.voip-info.org/​wiki/​view/​Asterisk+config+cdr_mysql.conf|Asterisk config cdr_mysql.conf]] 
-  * [[#Asterisk MySQL CDR]] 
   * [[#Asterisk ODBC CDR]]   * [[#Asterisk ODBC CDR]]
- 
-<​code>​ 
-MariaDB [asterisk]>​ select * from cdr; 
-</​code>​ 
- 
  
 === Просмотра статистики CDR и прослушивание записей === === Просмотра статистики CDR и прослушивание записей ===
  
   * [[https://​code.google.com/​p/​asterisk-cdr-viewer/​wiki/​ReadMe]]   * [[https://​code.google.com/​p/​asterisk-cdr-viewer/​wiki/​ReadMe]]
 +  * [[http://​prog-it.github.io/​Asterisk-CDR-Viewer-Mod/​|Web-интерфейс для просмотра и прослушивания записей звонков Asterisk]]
   * [[https://​asterisk-pbx.ru/​wiki/​artikle/​cdr_viewer|Прекрасное приложение,​ для просмотра статистики и прослушивания записей]]   * [[https://​asterisk-pbx.ru/​wiki/​artikle/​cdr_viewer|Прекрасное приложение,​ для просмотра статистики и прослушивания записей]]
   * [[Сервис HTTP#​Установка и запуск сервера Apache]]   * [[Сервис HTTP#​Установка и запуск сервера Apache]]
Строка 831: Строка 825:
  
 MariaDB [asterisk]>​ delete from sipfriends; MariaDB [asterisk]>​ delete from sipfriends;
- 
-MariaDB [asterisk]>​ insert into sipfriends(name,​ secret, host, type, callbackextension) values ('​403',​ '​tpassword403',​ '​dynamic',​ '​friend',​ '​403'​);​ 
-MariaDB [asterisk]>​ insert into sipfriends(name,​ secret, host, type, callbackextension) values ('​404',​ '​tpassword404',​ '​dynamic',​ '​friend',​ '​404'​);​ 
  
 insert into sipfriends(name,​ secret, host, type) values ('​403',​ '​tpassword403',​ '​dynamic',​ '​friend'​);​ insert into sipfriends(name,​ secret, host, type) values ('​403',​ '​tpassword403',​ '​dynamic',​ '​friend'​);​
Строка 971: Строка 962:
   * !!! Не совместим с пакетом asterisk-mysql   * !!! Не совместим с пакетом asterisk-mysql
 <​code>​ <​code>​
-# apt purge asterisk-mysql 
- 
-# service asterisk restart 
- 
 # cat res_odbc.conf # cat res_odbc.conf
 </​code><​code>​ </​code><​code>​
-... 
 [asterisk] [asterisk]
-... 
 enabled => yes enabled => yes
-... 
 dsn => asterisk_dsn dsn => asterisk_dsn
-...+pre-connect => yes
 </​code><​code>​ </​code><​code>​
 server*CLI>​ core reload server*CLI>​ core reload
Строка 1006: Строка 990:
 connection=asterisk connection=asterisk
 table=cdr table=cdr
-</​code>​+</​code>​<​code>​ 
 +# service asterisk restart
  
 +server*CLI>​ cdr show status
 +</​code>​
 ==== Asterisk ODBC realtime ==== ==== Asterisk ODBC realtime ====
  
Строка 1339: Строка 1326:
 ;402 => 2222,, ;402 => 2222,,
 ;403 => ,Ваше Имя Отчество Фамилия,​userX@isp.un,,​attache=yes|delete=yes ;403 => ,Ваше Имя Отчество Фамилия,​userX@isp.un,,​attache=yes|delete=yes
-;404 => 4444,​Василий Муркович Кошкин,,,​imapuser=userX|imappassword=passwordX+;404 => 4444,Ваше Имя Отчество Фамилия,,,​imapuser=userX|imappassword=passwordX
 </​code><​code>​ </​code><​code>​
 server*CLI>​ voicemail reload server*CLI>​ voicemail reload
Строка 2106: Строка 2093:
   * [[https://​wiki.asterisk.org/​wiki/​display/​AST/​Asterisk+12+ARI|Complete reference of the API]]   * [[https://​wiki.asterisk.org/​wiki/​display/​AST/​Asterisk+12+ARI|Complete reference of the API]]
   * [[http://​subnets.ru/​blog/?​p=5416|В Asterisk появился REST Interface (ARI)]]   * [[http://​subnets.ru/​blog/?​p=5416|В Asterisk появился REST Interface (ARI)]]
-  * [[http://​ari.asterisk.org/​|Asterisk REST API Browser]] 
  
 +
 +=== Настройка доступа к ARI ===
 <​code>​ <​code>​
 # cat /​etc/​asterisk/​http.conf # cat /​etc/​asterisk/​http.conf
Строка 2123: Строка 2111:
 pretty = yes pretty = yes
 ;​allowed_origins = http://​ari.asterisk.org ;​allowed_origins = http://​ari.asterisk.org
 +;​allowed_origins = chrome-extension://​hlnmjkbpmnbgeondjeceaomhafdacmlj
  
 [asterisk] [asterisk]
Строка 2128: Строка 2117:
 read_only = no read_only = no
 password = asterisk password = asterisk
-</​code><​code>​+</​code>​ 
 + 
 +=== Управление Asterisk через ARI === 
 + 
 +  * [[http://​ari.asterisk.org/​|Asterisk REST API Browser]] 
 + 
 +<​code>​
 # curl -v -X GET "​http://​localhost:​8088/​ari/​endpoints?​api_key=asterisk:​asterisk"​ # curl -v -X GET "​http://​localhost:​8088/​ari/​endpoints?​api_key=asterisk:​asterisk"​
-</​code><​code>​+</​code>​ 
 + 
 +=== Мониторинг Asterisk через ARI === 
 + 
 +  * [[https://​stackoverflow.com/​questions/​28064526/​how-to-get-all-dialer-events-from-asterisk-rest-api-ari|How to get all dialer events from Asterisk REST API (ARI)?]] 
 + 
 +<​code>​
 # curl -sL https://​deb.nodesource.com/​setup_9.x | sudo -E bash - # curl -sL https://​deb.nodesource.com/​setup_9.x | sudo -E bash -
  
Строка 2139: Строка 2140:
 # wscat -c "​ws://​localhost:​8088/​ari/​events?​api_key=asterisk:​asterisk&​app=my-first-app" ​ # wscat -c "​ws://​localhost:​8088/​ari/​events?​api_key=asterisk:​asterisk&​app=my-first-app" ​
 </​code><​code>​ </​code><​code>​
 +*CLI> ari show apps
 +
 +# curl -v -u asterisk:​asterisk -X POST "​http://​localhost:​8088/​ari/​applications/​my-first-app/​subscription?​eventSource=endpoint%3ASIP"​
 +
 +*CLI> ari show app my-first-app
 +</​code>​
 +
 +=== ARI Stasis ===
 +<​code>​
 exten => 307,​1,​Answer() exten => 307,​1,​Answer()
 exten => 307,​n,​Stasis(my-first-app) exten => 307,​n,​Stasis(my-first-app)
Строка 2155: Строка 2165:
 # curl -v -u asterisk:​asterisk -X POST "​http://​localhost:​8088/​ari/​channels/​$ID/​redirect?​endpoint=SIP%2F403"​ # curl -v -u asterisk:​asterisk -X POST "​http://​localhost:​8088/​ari/​channels/​$ID/​redirect?​endpoint=SIP%2F403"​
 </​code>​ </​code>​
 +
 ==== XMPP ==== ==== XMPP ====
  
Строка 2481: Строка 2492:
   * [[http://​voipapplication.blogspot.com/​2009/​01/​120000-phone-bill-voip-hacked-small.html|"​Voip hackers runs up a phone bill worth $120,​000"​.]]   * [[http://​voipapplication.blogspot.com/​2009/​01/​120000-phone-bill-voip-hacked-small.html|"​Voip hackers runs up a phone bill worth $120,​000"​.]]
  
 +===== WebRTC =====
 +
 +  * [[http://​vinogradov.iptel.od.ua/​ustanovka-webrtc-klienta-na-asterisk-na-primere-sipml5/​|Установка WebRTC клиента на Asterisk на примере SipML5]]
 +  * [[https://​github.com/​paneru-rajan/​asterisk-sipml5|Sipml5 with Asterisk]]
 +
 +  * !!! Заработало в Firefox
 +
 +==== Настройка сервера ====
 +
 +  * [[Пакет OpenSSL#​Создание само подписанного сертификата]] для системы server.corpX.un
 +
 +<​code>​
 +# cat server.crt server.key > /​etc/​asterisk/​server.crtkey
 +
 +# cat /​etc/​asterisk/​http.conf
 +</​code><​code>​
 +[general]
 +enabled=yes
 +bindaddr=0.0.0.0
 +bindport=8088
 +tlsenable=yes
 +tlsbindaddr=0.0.0.0:​8089
 +tlscertfile=/​etc/​asterisk/​server.crtkey
 +</​code><​code>​
 +# cat /​etc/​asterisk/​sip.conf
 +</​code><​code>​
 +[general]
 +transport=udp,​wss
 +...
 +
 +[webrtc](!)
 +avpf = yes
 +force_avp = yes
 +icesupport = yes
 +encryption = yes
 +dtlsenable = yes
 +dtlsverify = no
 +dtlssetup = actpass
 +dtlscertfile = /​etc/​asterisk/​server.crtkey
 +
 +[401](webrtc)
 +...
 +</​code>​
 +!!! Проверить и принять сертификат
 +<​code>​
 +https://​server.corpX.un:​8089/​ws
 +</​code>​
 +==== Настройка клиента sipml5 ====
 +
 +  * [[https://​www.doubango.org/​sipml5/​|World'​s first HTML5 SIP client]]
 +
 +<​code>​
 +Display Name: 401
 +Private Identity*: 401
 +Public Identity*: sip:​401@server.corpX.un
 +Password: tpassword401
 +Realm*: server.corpX.un
 +WebSocket Server URL: wss://​server.corpX.un:​8089/​ws
 +ICE Servers: []
 +</​code>​
 +
 +==== Установка клиента sipml5 ====
 +
 +  * [[Пакет OpenSSL#​Создание самоподписанного сертификата]] для системы server.corpX.un
 +  * [[Сервис HTTP#​Поддержка протокола HTTPS]]
 +
 +<​code>​
 +# cd /​var/​www/​html/​
 +
 +# wget http://​val.bmstu.ru/​unix/​voip/​sipml5-master.zip
 +
 +# unzip sipml5-master.zip
 +
 +https://​server.corpX.un/​sipml5-master/​call.htm
 +</​code>​
 ===== Дополнительные материалы ===== ===== Дополнительные материалы =====
  
Строка 2598: Строка 2684:
 ==== Сборка asterisk из исходных текстов ==== ==== Сборка asterisk из исходных текстов ====
  
-Добавление поддержки imap хранилища голосовой почты+  * [[https://​www.tecmint.com/​install-asterisk-on-centos-7/​|How to Install Asterisk on CentOS 7]]
  
-[[http://​blogs.reucon.com/​srt/​2007/​02/​20/​1171932900000.html]]+  * [[Управление ПО в Linux#​Работа с исходными текстами]]
  
-[[http://​www.asteriskdocs.org/​html/​ch14s05.html]]+=== Версия 16 ===
  
-[[http://etel.wiki.oreilly.com/wiki/index.php/Storing_Voicemail_on_an_IMAP_server]]+  * [[https://wiki.asterisk.org/wiki/display/AST/Installing+Asterisk+From+Source|Installing Asterisk From Source]]
  
-=== Ubuntu === 
 <​code>​ <​code>​
-root@server:​~#​ apt-get install ​build-essential ​libncurses5-dev libssl-dev libxml2-dev+# apt install libedit-dev uuid-dev libxml2-dev libsqlite3-dev 
 + 
 +# wget https://​downloads.asterisk.org/​pub/​telephony/​asterisk/​asterisk-16-current.tar.gz 
 + 
 +# cd /​usr/​local/​src 
 + 
 +# tar -xvzf /​root/​asterisk-16-current.tar.gz 
 + 
 +# cd asterisk-16.3.0/​ 
 + 
 +# ./configure --with-jansson-bundled 
 + 
 +# cd contrib/​scripts 
 + 
 +# ./​install_prereq install 
 + 
 +# ./​install_prereq install-unpackaged 
 + 
 +# cd - 
 + 
 +# make menuselect 
 + 
 +# make 
 + 
 +# make install 
 + 
 +# make samples 
 + 
 +# asterisk 
 + 
 +# asterisk -rvvv 
 +</​code>​ 
 + 
 +=== Версия 1.8 === 
 + 
 +**Задача:​ Добавление поддержки imap хранилища голосовой почты** 
 + 
 +  * [[http://​blogs.reucon.com/​srt/​2007/​02/​20/​1171932900000.html]] 
 +  * [[http://​www.asteriskdocs.org/​html/​ch14s05.html]] 
 +  * [[http://​etel.wiki.oreilly.com/​wiki/​index.php/​Storing_Voicemail_on_an_IMAP_server]] 
 + 
 +**Ubuntu** 
 +<​code>​ 
 +root@server:​~#​ apt-get install libncurses5-dev libssl-dev libxml2-dev
 root@server:​~#​ cd /usr/src root@server:​~#​ cd /usr/src
  
Строка 2615: Строка 2743:
 </​code>​ </​code>​
  
-=== FreeBSD ​===+**FreeBSD**
 <​code>​ <​code>​
 [server:~] # pkg install perl5 bison m4 gmake gcc libtool libltdl libxml2 speex unixODBC gsm  [server:~] # pkg install perl5 bison m4 gmake gcc libtool libltdl libxml2 speex unixODBC gsm 
Строка 2624: Строка 2752:
 </​code>​ </​code>​
  
-=== Ubuntu/​FreeBSD ​===+**Ubuntu/​FreeBSD**
 <​code>​ <​code>​
 server:/​usr/​src#​ gunzip imap.tar.Z server:/​usr/​src#​ gunzip imap.tar.Z
Строка 2649: Строка 2777:
 server:~# /​usr/​local/​asterisk/​sbin/​asterisk -rvvvvvv server:~# /​usr/​local/​asterisk/​sbin/​asterisk -rvvvvvv
 </​code>​ </​code>​
- 
 ==== Преобразование mp3 файлов в формат Asterisk ==== ==== Преобразование mp3 файлов в формат Asterisk ====
 <​code>​ <​code>​
сервис_asterisk.1554975358.txt.gz · Последние изменения: 2019/04/11 12:35 — val