2015-08-08 8 views
0

У меня Asterisk 13.4.0 работает на Ubuntu 12.04.3, и мне нужно записывать SIMPLE сообщения в MySQL CDR.Asterisk 13 SIP ПРОСТОЕ сообщение для CDR

Сообщения отправляются между расширениями, а все остальные CDR записываются правильно, но в CDR нет никаких простых записей. Можно ли использовать встроенную функциональность Asterisk или какое-то обходное решение для решения этой проблемы?

+0

Я голосую, чтобы закрыть этот вопрос, как от -topic, поскольку это не связано с программированием – nos

+0

На мой взгляд, Asterisk Dialplan также программирует. Я ошибаюсь? –

+0

Да, это программирование. Но ОЧЕНЬ тривиально. Кроме того, у вас есть некоторые усилия в выполнении задания, а не в том, что вы делаете. – arheops

ответ

0

Put в sip_general_custom.conf

accept_outofcall_message=yes 
outofcall_message_context=messages 
auth_message_requests=no 

В extensions_custom.conf

[messages] 
exten => _.,1,NoOp(SMS receiving dialplan invoked) 
exten => _.,n,NoOp(To ${MESSAGE(to)}) 
exten => _.,n,NoOp(From ${MESSAGE(from)}) 
exten => _.,n,NoOp(Body ${MESSAGE(body)}) 
exten => _.,n,Set(ACTUALTO=${CUT(MESSAGE(to),@,1)}) 
exten => _.,n,Set(CDR(message)=${MESSAGE(from)}) 
exten => _.,n,MessageSend(${ACTUALTO},${MESSAGE(from)}) 
exten => _.,n,NoOp(Send status is ${MESSAGE_SEND_STATUS}) 
exten => _.,n,GotoIf($["${MESSAGE_SEND_STATUS}" != «SUCCESS»]?sendfailedmsg) 
exten => _.,n,Hangup() 
; 
; Handle failed messaging 
exten => _.,n(sendfailedmsg),Set(MESSAGE(body)="[${STRFTIME(${EPOCH},,%d%m%Y-%H:%M:%S)}] Your message to ${EXTEN} has failed. Retry later.") 
exten => _.,n,Set(ME_1=${CUT(MESSAGE(from),<,2)}) 
exten => _.,n,Set(ACTUALFROM=${CUT(ME_1,@,1)}) 
exten => _.,n,MessageSend(${ACTUALFROM},ServiceCenter) 
exten => _.,n,Hangup() 
exten => _.,n,Hangup() 

Кроме того, необходимо добавить в таблицу текст сообщения колонного типа

Смежные вопросы