Pull to refresh
-8
@willydread⁠-⁠only

User

Send message
Первый — регистрация статуса пира держится какое то время после обрыва, и вполне возможна ситуация, когда пир кратковременно зарегистрируется и отвалится, а система «отправит» в течение минуты ему сообщение, и будет считать его доставленным. Выкрутится можно, использовав не Application в call-файле, а передачу данных в контекст с проверкой статуса переменной ${MESSAGE_SEND_STATUS}. Наверное, возможно будет использовать имеющийся контекст, задав переменные через Set в call-файле.

Наверное будет как-то так.

${MESSAGE_SEND_STATUS} подтверждает только отправку. https://wiki.asterisk.org/wiki/display/AST/Asterisk+13+Application_MessageSend

Получаем статус пира и uri (Status и RegContact):
Action: SIPshowpeer
Peer: 3030

Response: Success
Channeltype: SIP
ObjectName: 3030
ChanObjectType: peer
Codecs: (ulaw|alaw|gsm|h263)
Status: OK (19 ms)
SIP-Useragent: Yealink SIP-T27P 45.80.0.60
Reg-Contact: sip:3030@192.168.100.101:5060
QualifyFreq: 60000 ms
SIP-Use-Reason-Header: N
Description: 

Можно перед этим отправить qualify запрос. Чтобы быть уверенным в статусе.

Отправляем сообщение.
action: messagesend
to: sip:3030@192.168.100.101:5060
from: sip:3030@192.168.100.101:5060
body: abra cadabra

Response: Success
Message: Message successfully sent


https://wiki.asterisk.org/wiki/display/AST/Asterisk+13+ManagerAction_MessageSend

Статус доставки не отдается. Проверяется только отправка. Как собственно и приложение MessageSend, которое вы используете в плане набора. Либо делайте проверку статуса девайса в диалплане.
Переадресацией на симку этого же оператора, если конечно тариф позволяет.
12 ...
108

Information

Rating
Does not participate
Registered
Activity