У меня есть сервер Asterisk, размещенный на DigitalOcean, который прерывает вызовы ровно через 120 секунд, используя транкинговую службу Twilio. Примечательно, что софтфоны с прямым подключением не сбрасывают вызовы. Порт 5060 открыт на брандмауэре, как и должно быть.
Есть автосекретарь, принимающий вызов и передающий его сценарию, но он работает полностью, не прерывая вызов с помощью программного телефона sip. Я отправил Twilio по электронной почте, и они сказали, что проблема может быть в том, что Asterisk не отправляет 180 Ringing, что я мог понять, потому что я не набираю телефон, просто отвечаю немедленно.
Что действительно отключает звонок?
sip.conf
[twilio]
type=peer
secret=secret
username=user
host=host.domain.com
dtmfmode=rfc2833
canreinvite=no
disallow=all
allow=ulaw
insecure=port,invite
fromuser=+15555555555
fromdomain=from-domain.domain.com
context=incoming
deny=0.0.0.0/0
permit=x.x.x.x/32
permit=x.x.x.x/32
permit=x.x.x.x/32
permit=x.x.x.x/32
контекст extensions.ael
+15555555555 => {
Answer();
EAGI(tincan.js);
AGI(agi://127.0.0.1/saytext,"Goodbye.");
Hangup();
}
Начало захвата пакета вызова
21 4.827782 (Them) (Us) SIP/SDP 1341 Request: INVITE sip:+15555555555@my.domain.com |
22 4.831487 (Us) (Them) SIP 819 Status: 100 Trying |
23 4.833205 (Us) (Them) SIP/SDP 1112 Status: 200 OK |
Захват пакета конца вызова
16066 124.821787 (Them) (Us) SIP 650 Request: BYE sip:+15555555555@x.x.x.x:5060 |
16067 124.822736 (Us) (Them( SIP 700 Status: 200 OK |