-1

我在 Ubuntu 12.04.3 上运行了 Asterisk 13.4.0,我需要将简单的消息记录到 MySQL CDR。

分机之间正在发送消息,并且所有其他 CDR 都已正确记录,但 CDR 中没有任何 SIMPLE 记录。是否可以使用 Asterisk 内置功能或某种解决方法来解决此问题?

4

1 回答 1

0

放入 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() 

您还需要添加到表消息列类型文本

于 2015-08-08T22:22:32.823 回答