Одно из решений позволяющее совершать и принимать звонки Skype на Asterisk, программный продукт — SipToSis. Скачать ПО можно с сайта разработчика SipToSis. Распаковываем архив на машине где у Вас установлен Skype. Изучаем readme.txt.
*****************************************************************************************************
Asterisk Peer Example:
In sip.conf
[siptosisuser]
username=siptosisuser
type=friend
context=default
secret=siptosisregpassword
host=dynamic
nat=no
dtmfmode=auto
;canreinvite=yes (use only if you understand what it does — does not work well with ilbc and speex codecs)
canreinvite=no
;port should not be needed if you register with the PBX — some have said it’s needed??
;port=siptosishostport
qualify=yes
defaultip=siptosisip
incominglimit=1
outgoinglimit=1
call-limit=1
busylevel=1
Asterisk Single channel config that can be put in extensions.conf
exten => _7X.,1,Dial(SIP/siptosisuser/${EXTEN:1})
;you would then dial 7 and the number you want to call
*************************************************************************************************************
Редактируем файл sip.conf.
- [siptosis]
- username=siptosis — имя пользователя под которым будет регистрироваться на Asterisk SipToSis
- type=friend
- context=office — контекст
- secret=password — пароль пользователя SipToSis
- host=IP адрес — где запущен SipToSis
- port=5070 — порт 5070 !
- nat=yes
- dtmfmode=auto
- canreinvite=no
- qualify=yes
- disallow=all
- allow=alaw
- allow=ulaw
И файл extensions.conf.
- exten => _7.,1,Dial(SIP/siptosis/${EXTEN:1}) — префикс для выхода на Skype — 7.
Переходим в директорию SipToSis. Здесь нас интересует три файла:
- SIpToSis_win.bat — собственно файл запуска
- siptosis.cfg — конфигурационный файл
- SkypeToSipAuth.props — файл маршрутизации входящего соединения
В файле siptosis.cfg комментируем строку — SAMPL AUTO !!! И редактируем с учетом настроек прописанных ранее в sip.conf. Сам файл содержит множество примеров, в том числе и для Asterisk.
*******************************************************************************************************
#Sample Asterisk registration example — comment out NO registration info above first and uncomment the following.
#host_port=5070
#contact_url=sip:skypetestuser@SipToSisIpAddress:SipToSisHostPort
#from_url=»skypetestuser» <sip:skypetestuser@asteriskIpAddress:asteriskHostPort>
#username=skypetestuser
#realm=asterisk
#passwd=skypetest
#expires=3600
#do_register=yes
#minregrenewtime=120
#regfailretrytime=15
# — end of Asterisk Reg example —********************************************************************************************************Наша конфигурация будет выглядеть следующим образом.
- host_port=5070 — порт 5070 !
- contact_url=sip:siptosis@IP-SipToSis:5070
- from_url=»siptosis»<sip:siptosis@IP-Asterisk:5070>
- username=siptosis — пользователь (смотри sip.conf)
- passwd=password -пароль (смотри sip.conf)
- expires=3600
- do_register=yes
- minregrenewtime=120
- regfailretrytime=15
При первом запуске необходимо предоставить доступ SipToSis к Skype.
После чего произойдет регистрация.
Редактируем файл SkypeToSipAuth.props — определяющий на какой номер придет вызов.
- *,sip:EXTEN@IP-Asterisk:5060
Соответственно в диал-плане Asterisk должна быть обработка данного EXTEN или это может быть просто внутренний абонент. С этого момента мы можем принимать входящие вызовы со Skype на абонента Asterisk. Для организации исходящего вызова отредактируем файл — SkypeOutDialingRules.props.
- 55$:echo123
Набрав на Asterisk номер — 755, данный номер будет преобразован SipToSis из 55 -> в echo123, таким образом мы попадем на тестовый номер Skype.