2015-08-08 46 views
0

我在Ubuntu 12.04.3上運行了Asterisk 13.4.0,我需要將SIMPLE消息記錄到MySQL CDR。星號13 SIP SIMPLE消息到CDR

消息在分機之間發送,所有其他CDR都被正確記錄,但CDR中沒有任何SIMPLE記錄。是否可以使用Asterisk內置功能或某種解決方法來解決此問題?

+0

我投票爲關閉關閉這個問題因爲它不是編程相關 – nos

+0

在我看來,Asterisk Dialplan腳本也是編程。我錯了嗎? –

+0

是的,它是編程。但非常微不足道。你也在做任務時表現出一些努力,而不是看你做什麼。 – arheops

回答

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

你也需要添加到表列的消息類型的文本