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
Next revision Both sides next revision
сервис_asterisk [2021/11/08 15:15]
val [Перехват вызова]
сервис_asterisk [2022/04/15 19:31]
val [С использованием Call файлов]
Line 131: Line 131:
 protocol=udp protocol=udp
 bind=0.0.0.0:​5060 bind=0.0.0.0:​5060
-;​local_net=192.168.X.0/​255.255.255.0 
-;​external_media_address=172.16.1.X 
-;​external_signaling_address=172.16.1.X 
 </​code>​ </​code>​
  
Line 227: Line 224:
 </​code><​code>​ </​code><​code>​
 ... ...
-; voip1.un и server.corp.un одна и та же система+; voip1.un и server.corp.un ​(курс CGP) одна и та же система
 ; приходится подключаться к ней с разных портов :) ; приходится подключаться к ней с разных портов :)
  
Line 234: Line 231:
 protocol=udp protocol=udp
 bind=0.0.0.0:​5062 bind=0.0.0.0:​5062
 +;​local_net=192.168.1.0/​255.255.255.0
 +;​local_net=192.168.X.0/​255.255.255.0
 +;​external_media_address=172.16.1.X
 +;​external_signaling_address=172.16.1.X
  
 [voip1_00000X] [voip1_00000X]
Line 389: Line 390:
  
 ==== TimeBased контексты ==== ==== TimeBased контексты ====
 +
 +  * [[https://​wiki.asterisk.org/​wiki/​display/​AST/​Contexts%2C+Extensions%2C+and+Priorities#​Contexts,​Extensions,​andPriorities-Dialplansearchorder|Dialplan search order]]
  
   * [[https://​www.voip-info.org/​asterisk-tips-openhours/​|How to include contexts based on time and date]]   * [[https://​www.voip-info.org/​asterisk-tips-openhours/​|How to include contexts based on time and date]]
Line 653: Line 656:
  
 server*CLI>​ channel request hangup SIP/<​TAB>​ server*CLI>​ channel request hangup SIP/<​TAB>​
 +
 +# watch -d "​asterisk -x 'cdr show active'"​
  
 # curl -v -X GET "​http://​localhost:​8088/​ari/​channels?​api_key=asterisk:​asterisk"​ # curl -v -X GET "​http://​localhost:​8088/​ari/​channels?​api_key=asterisk:​asterisk"​
Line 1667: Line 1672:
 server# cat /​etc/​asterisk/​extensions.conf server# cat /​etc/​asterisk/​extensions.conf
 </​code><​code>​ </​code><​code>​
 +...
 +exten => _8XXXXXXXXXX,​1,​Dial(SIP/​voip1_00000X/​${EXTEN},,​T)
 ... ...
 exten => voip1_00000X,​1,​Dial(SIP/​401,,​t) exten => voip1_00000X,​1,​Dial(SIP/​401,,​t)
Line 1769: Line 1776:
 ... ...
  
-;For IMAP/SMTP+;;;For IMAP/SMTP
 ;​charset=UTF-8 ;​charset=UTF-8
 ;​locale=ru_RU.UTF-8 ;​locale=ru_RU.UTF-8
Line 1778: Line 1785:
 ... ...
  
-;For IMAP +;;;For IMAP 
-;debian# apt install asterisk-voicemail-imapstorage +;;;debian# apt install asterisk-voicemail-imapstorage 
-;debian# cp /​etc/​dovecot/​private/​dovecot.pem /​usr/​local/​share/​ca-certificates/​dovecot.crt +;;;debian# cp /​etc/​dovecot/​private/​dovecot.pem /​usr/​local/​share/​ca-certificates/​dovecot.crt 
-;debian# update-ca-certificates +;;;debian# update-ca-certificates 
-;debian# service asterisk restart+;;;debian# service asterisk restart
 ;​imapserver=server.corpX.un ;​imapserver=server.corpX.un
 ;​imapfolder=INBOX ;​imapfolder=INBOX
  
-;For SMTP+;;;For SMTP
 ;debian# apt install postfix mailutils ;debian# apt install postfix mailutils
  
Line 1893: Line 1900:
 server*CLI>​ channel originate PJSIP/​89161234567@voip1_00000X extension voip1_00000X@default server*CLI>​ channel originate PJSIP/​89161234567@voip1_00000X extension voip1_00000X@default
  
-; сначала вызов обработчика (например - все телефоны в офисе),​ затем вызов абонента+; сначала вызов обработчика (например - все телефоны в офисе ​или оператор/​агент из членов очереди), затем вызов абонента
 server*CLI>​ channel originate Local/​voip1_00000X@default extension 89161234567@default server*CLI>​ channel originate Local/​voip1_00000X@default extension 89161234567@default
-server*CLI>​ channel originate Local/​601@default extension 89161234567@default 
 </​code><​code>​ </​code><​code>​
 # cat /​usr/​share/​originate_cli.sh # cat /​usr/​share/​originate_cli.sh
Line 1902: Line 1908:
  
 asterisk -x "​channel originate SIP/$1 extension $2@default"​ asterisk -x "​channel originate SIP/$1 extension $2@default"​
 +</​code><​code>​
 +# /​usr/​share/​originate_cli.sh 403 601
 </​code>​ </​code>​
 +
 ==== С использованием Call файлов ==== ==== С использованием Call файлов ====
  
Line 1909: Line 1918:
  
 <​code>​ <​code>​
-server# cat 1.call+# cat call.txt
 </​code><​code>​ </​code><​code>​
-Channel: ​sip/401 +Channel: ​Local/voip1_00000X@default 
-Extension: ​601+Extension: ​89161234567
 Context: default Context: default
-CallerId: ​Conferencia ​<601>+CallerId: ​CorpX<84992636363>
 </​code><​code>​ </​code><​code>​
-server# ​cat 2.call +server# ​cp call.txt /​var/​spool/​asterisk/​outgoing/​
-</​code><​code>​ +
-Channel: sip/402 +
-Extension: 601 +
-Context: default +
-CallerId: Conferencia <​601>​ +
-</​code><​code>​ +
-server# cat 3.call +
-</​code><​code>​ +
-Channel: sip/403 +
-Extension: 601 +
-Context: default +
-CallerId: Conferencia <​601>​ +
-</​code><​code>​ +
-server# cp [123].call ​/​var/​spool/​asterisk/​outgoing/​+
 </​code><​code>​ </​code><​code>​
 # cat /​usr/​share/​originate_call_file.sh # cat /​usr/​share/​originate_call_file.sh
Line 2010: Line 2005:
  
 exten => _X,​1,​Goto(default,​40${EXTEN},​1) exten => _X,​1,​Goto(default,​40${EXTEN},​1)
 +
 exten => _4XX,​1,​Goto(default,​${EXTEN},​1) exten => _4XX,​1,​Goto(default,​${EXTEN},​1)
  
Line 2344: Line 2340:
  
   * [[http://​asterisk.ru/​knowledgebase/​Asterisk+func+sippeer|Функция SIPPEER()]]   * [[http://​asterisk.ru/​knowledgebase/​Asterisk+func+sippeer|Функция SIPPEER()]]
-  * curcalls работает только если для канала установлено ограничение на число одновременных вызовов (call-limit)+  * !!! curcalls работает только если для канала установлено ограничение на число одновременных вызовов (call-limit)
  
 <​code>​ <​code>​
Line 2506: Line 2502:
 ... ...
 </​code>​ </​code>​
-==== Приложение SHELL ====+==== Функция SHELL ====
  
   * !!! Название функции только ЗАГЛАВНЫМИ буквами   * !!! Название функции только ЗАГЛАВНЫМИ буквами
Line 2801: Line 2797:
 exten => _4XX,​n,​Hangup() exten => _4XX,​n,​Hangup()
  
-exten => _4XX,​n(busy),​Playback(tt-allbusy)+ 
 +exten => _4XX,​n(busy),​JabberSend(aster,​${MY-CALLED-USER-ID},​Вам звонил ${CALLERID(all)}) 
 +exten => _4XX,n,​Playback(tt-allbusy)
 exten => _4XX,​n,​Hangup() exten => _4XX,​n,​Hangup()
 ... ...
Line 3122: Line 3120:
 [402] [402]
 ;​secret=tpassword402 ;​secret=tpassword402
-md5secret=29c91aa064cf462f5146b7ee81e7ba49+md5secret=a77b8ed36b4be2c14c2d7e4dfad34b46
 ... ...
 </​code>​ </​code>​
сервис_asterisk.txt · Last modified: 2023/12/02 08:15 by val