Messaging system setup question

Hello all!

I’m currently setting up a messaging system on a softphone we acquired, the softphone itself already has the messaging function and it does send the server a request, however, I noticed that after the message is sent, it is never received, meaning that if my extension 1001 tries to message 1002 with “hello”, the server registers the attempt to send, but 1002 never sends back the “OK”;
After further investigation, I found out that after the message is sent, extension 1002 (The receiving end) receive a dial on Asterisk, not on the extension itself though… And since the dial is never picked up, it just drops the request after 12 seconds and goes on without the message.

I think I missed some configuration in my extensions file, all extensions use PJSIP technology and I’m running on Asterisk 16.

Can someone help me out?

Here is the output:

== Spawn extension (app-blackhole, busy, 2) exited non-zero on ‘Message/ast_msg_queue’
– Executing [6651@from-internal:1] Set(“Message/ast_msg_queue”, “__RINGTIMER=15”) in new stack
– Executing [6651@from-internal:2] Macro(“Message/ast_msg_queue”, “exten-vm,novm,6651,1,1,1”) in new stack
– Executing [s@macro-exten-vm:1] Macro(“Message/ast_msg_queue”, “user-callerid,”) in new stack
– Executing [s@macro-user-callerid:1] Set(“Message/ast_msg_queue”, “TOUCH_MONITOR=1655844167.4715171”) in new stack
– Executing [s@macro-user-callerid:2] Set(“Message/ast_msg_queue”, “AMPUSER=”) in new stack
– Executing [s@macro-user-callerid:3] GotoIf(“Message/ast_msg_queue”, “0?report”) in new stack
– Executing [s@macro-user-callerid:4] ExecIf(“Message/ast_msg_queue”, “1?Set(REALCALLERIDNUM=)”) in new stack
– Executing [s@macro-user-callerid:5] Set(“Message/ast_msg_queue”, “AMPUSER=”) in new stack
– Executing [s@macro-user-callerid:6] GotoIf(“Message/ast_msg_queue”, “0?limit”) in new stack
– Executing [s@macro-user-callerid:7] Set(“Message/ast_msg_queue”, “AMPUSERCIDNAME=”) in new stack
– Executing [s@macro-user-callerid:8] GotoIf(“Message/ast_msg_queue”, “1?report”) in new stack
– Goto (macro-user-callerid,s,15)
– Executing [s@macro-user-callerid:15] GotoIf(“Message/ast_msg_queue”, “0?continue”) in new stack
– Executing [s@macro-user-callerid:16] Set(“Message/ast_msg_queue”, “__TTL=64”) in new stack
– Executing [s@macro-user-callerid:17] GotoIf(“Message/ast_msg_queue”, “1?continue”) in new stack
– Goto (macro-user-callerid,s,28)
– Executing [s@macro-user-callerid:28] Set(“Message/ast_msg_queue”, “CALLERID(number)=”) in new stack
– Executing [s@macro-user-callerid:29] Set(“Message/ast_msg_queue”, “CALLERID(name)=”) in new stack
– Executing [s@macro-user-callerid:30] Set(“Message/ast_msg_queue”, “CDR(cnum)=”) in new stack
– Executing [s@macro-user-callerid:31] Set(“Message/ast_msg_queue”, “CDR(cnam)=”) in new stack
– Executing [s@macro-user-callerid:32] Set(“Message/ast_msg_queue”, “CHANNEL(language)=en”) in new stack
– Executing [s@macro-exten-vm:2] Set(“Message/ast_msg_queue”, “RingGroupMethod=none”) in new stack
– Executing [s@macro-exten-vm:3] Set(“Message/ast_msg_queue”, “__EXTTOCALL=6651”) in new stack
– Executing [s@macro-exten-vm:4] Set(“Message/ast_msg_queue”, “__PICKUPMARK=6651”) in new stack
– Executing [s@macro-exten-vm:5] Set(“Message/ast_msg_queue”, “RT=15”) in new stack
– Executing [s@macro-exten-vm:6] Gosub(“Message/ast_msg_queue”, “sub-record-check,s,1(exten,6651,)”) in new stack
– Executing [s@sub-record-check:1] Set(“Message/ast_msg_queue”, “REC_POLICY_MODE_SAVE=”) in new stack
– Executing [s@sub-record-check:2] GotoIf(“Message/ast_msg_queue”, “1?check”) in new stack
– Goto (sub-record-check,s,6)
– Executing [s@sub-record-check:6] Set(“Message/ast_msg_queue”, “__MON_FMT=wav”) in new stack
– Executing [s@sub-record-check:7] GotoIf(“Message/ast_msg_queue”, “1?next”) in new stack
– Goto (sub-record-check,s,10)
– Executing [s@sub-record-check:10] ExecIf(“Message/ast_msg_queue”, “0?Return()”) in new stack
– Executing [s@sub-record-check:11] ExecIf(“Message/ast_msg_queue”, “0?Set(__REC_POLICY_MODE=)”) in new stack
– Executing [s@sub-record-check:12] GotoIf(“Message/ast_msg_queue”, “0?exten,1”) in new stack
– Executing [s@sub-record-check:13] Set(“Message/ast_msg_queue”, “__REC_STATUS=INITIALIZED”) in new stack
– Executing [s@sub-record-check:14] Set(“Message/ast_msg_queue”, “NOW=1655994088”) in new stack
– Executing [s@sub-record-check:15] Set(“Message/ast_msg_queue”, “__DAY=23”) in new stack
– Executing [s@sub-record-check:16] Set(“Message/ast_msg_queue”, “__MONTH=06”) in new stack
– Executing [s@sub-record-check:17] Set(“Message/ast_msg_queue”, “__YEAR=2022”) in new stack
– Executing [s@sub-record-check:18] Set(“Message/ast_msg_queue”, “__TIMESTR=20220623-112128”) in new stack
– Executing [s@sub-record-check:19] Set(“Message/ast_msg_queue”, “__FROMEXTEN=unknown”) in new stack
– Executing [s@sub-record-check:20] Set(“Message/ast_msg_queue”, “__CALLFILENAME=exten-6651-unknown-20220623-112128-1655844167.4715171”) in new stack
– Executing [s@sub-record-check:21] Goto(“Message/ast_msg_queue”, “exten,1”) in new stack
– Goto (sub-record-check,exten,1)
– Executing [exten@sub-record-check:1] GotoIf(“Message/ast_msg_queue”, “0?callee”) in new stack
– Executing [exten@sub-record-check:2] Set(“Message/ast_msg_queue”, “__REC_POLICY_MODE=dontcare”) in new stack
– Executing [exten@sub-record-check:3] GotoIf(“Message/ast_msg_queue”, “1?caller”) in new stack
– Goto (sub-record-check,exten,10)
– Executing [exten@sub-record-check:10] Set(“Message/ast_msg_queue”, “__REC_POLICY_MODE=”) in new stack
– Executing [exten@sub-record-check:11] GosubIf(“Message/ast_msg_queue”, “0?record,1(exten,6651,unknown)”) in new stack
– Executing [exten@sub-record-check:12] Return(“Message/ast_msg_queue”, “”) in new stack
– Executing [s@macro-exten-vm:7] Macro(“Message/ast_msg_queue”, “dial-one,15,tr,6651”) in new stack
– Executing [s@macro-dial-one:1] Set(“Message/ast_msg_queue”, “DEXTEN=6651”) in new stack
– Executing [s@macro-dial-one:2] Set(“Message/ast_msg_queue”, “DIALSTATUS_CW=”) in new stack
– Executing [s@macro-dial-one:3] GosubIf(“Message/ast_msg_queue”, “0?screen,1()”) in new stack
– Executing [s@macro-dial-one:4] GosubIf(“Message/ast_msg_queue”, “0?cf,1()”) in new stack
– Executing [s@macro-dial-one:5] GotoIf(“Message/ast_msg_queue”, “1?skip1”) in new stack
– Goto (macro-dial-one,s,8)
– Executing [s@macro-dial-one:8] GotoIf(“Message/ast_msg_queue”, “0?nodial”) in new stack
– Executing [s@macro-dial-one:9] GotoIf(“Message/ast_msg_queue”, “0?continue”) in new stack
– Executing [s@macro-dial-one:10] Set(“Message/ast_msg_queue”, “EXTHASCW=ENABLED”) in new stack
– Executing [s@macro-dial-one:11] GotoIf(“Message/ast_msg_queue”, “0?next1:cwinusebusy”) in new stack
– Goto (macro-dial-one,s,23)
– Executing [s@macro-dial-one:23] GotoIf(“Message/ast_msg_queue”, “1?next3:continue”) in new stack
– Goto (macro-dial-one,s,24)
– Executing [s@macro-dial-one:24] ExecIf(“Message/ast_msg_queue”, “0?Set(DIALSTATUS_CW=BUSY)”) in new stack
– Executing [s@macro-dial-one:25] GotoIf(“Message/ast_msg_queue”, “0?nodial”) in new stack
– Executing [s@macro-dial-one:26] GosubIf(“Message/ast_msg_queue”, “1?dstring,1():dlocal,1()”) in new stack
– Executing [dstring@macro-dial-one:1] Set(“Message/ast_msg_queue”, “DSTRING=”) in new stack
– Executing [dstring@macro-dial-one:2] Set(“Message/ast_msg_queue”, “DEVICES=6651”) in new stack
– Executing [dstring@macro-dial-one:3] ExecIf(“Message/ast_msg_queue”, “0?Return()”) in new stack
– Executing [dstring@macro-dial-one:4] ExecIf(“Message/ast_msg_queue”, “0?Set(DEVICES=651)”) in new stack
– Executing [dstring@macro-dial-one:5] Set(“Message/ast_msg_queue”, “LOOPCNT=1”) in new stack
– Executing [dstring@macro-dial-one:6] Set(“Message/ast_msg_queue”, “ITER=1”) in new stack
– Executing [dstring@macro-dial-one:7] Set(“Message/ast_msg_queue”, “THISDIAL=PJSIP/6651”) in new stack
– Executing [dstring@macro-dial-one:8] GosubIf(“Message/ast_msg_queue”, “1?pjsipdial,1()”) in new stack
– Executing [pjsipdial@macro-dial-one:1] Set(“Message/ast_msg_queue”, “PJ=6651”) in new stack
– Executing [pjsipdial@macro-dial-one:2] Set(“Message/ast_msg_queue”, “THISDIAL=”) in new stack
– Executing [pjsipdial@macro-dial-one:3] Return(“Message/ast_msg_queue”, “”) in new stack
– Executing [dstring@macro-dial-one:9] GosubIf(“Message/ast_msg_queue”, “1?zap2dahdi,1()”) in new stack
– Executing [zap2dahdi@macro-dial-one:1] ExecIf(“Message/ast_msg_queue”, “1?Return()”) in new stack
– Executing [dstring@macro-dial-one:10] Set(“Message/ast_msg_queue”, “DSTRING=&”) in new stack
– Executing [dstring@macro-dial-one:11] Set(“Message/ast_msg_queue”, “ITER=2”) in new stack
– Executing [dstring@macro-dial-one:12] GotoIf(“Message/ast_msg_queue”, “0?begin”) in new stack
– Executing [dstring@macro-dial-one:13] Set(“Message/ast_msg_queue”, “DSTRING=”) in new stack
– Executing [dstring@macro-dial-one:14] Return(“Message/ast_msg_queue”, “”) in new stack
– Executing [s@macro-dial-one:27] GotoIf(“Message/ast_msg_queue”, “1?nodial”) in new stack
– Goto (macro-dial-one,s,47)
– Executing [s@macro-dial-one:47] ExecIf(“Message/ast_msg_queue”, “1?Set(DIALSTATUS=NOANSWER)”) in new stack
– Executing [s@macro-dial-one:48] NoOp(“Message/ast_msg_queue”, “Returned from dial-one with nothing to call and DIALSTATUS: NOANSWER”) in new stack
– Executing [s@macro-dial-one:49] MacroExit(“Message/ast_msg_queue”, “”) in new stack
– Executing [s@macro-exten-vm:8] Set(“Message/ast_msg_queue”, “SV_DIALSTATUS=NOANSWER”) in new stack
– Executing [s@macro-exten-vm:9] GosubIf(“Message/ast_msg_queue”, “0?docfu,1()”) in new stack
– Executing [s@macro-exten-vm:10] GosubIf(“Message/ast_msg_queue”, “0?docfb,1()”) in new stack
– Executing [s@macro-exten-vm:11] Set(“Message/ast_msg_queue”, “DIALSTATUS=NOANSWER”) in new stack
– Executing [s@macro-exten-vm:12] ExecIf(“Message/ast_msg_queue”, “1?MacroExit()”) in new stack
– Executing [6651@from-internal:3] Set(“Message/ast_msg_queue”, “__PICKUPMARK=”) in new stack
– Executing [6651@from-internal:4] GotoIf(“Message/ast_msg_queue”, “1?app-blackhole,busy,1”) in new stack
– Goto (app-blackhole,busy,1)
– Executing [busy@app-blackhole:1] NoOp(“Message/ast_msg_queue”, “Blackhole Dest: Busy”) in new stack
– Executing [busy@app-blackhole:2] Busy(“Message/ast_msg_queue”, “20”) in new stack
smartcore*CLI>

This appears to be a FreePBX problem not an Asterisk one. Your call is being routed into the wrong part of the FreePBX canned dialplan.

Ah I see!
Should I post this over at the freepbx forum then?

I’ve never attempted to setup a messaging system, so I’m kinda lost in here!

Looking at:

and the general lack of good hits for FreePBX SMS and FreePBX out of dialogue messages, I think you will find that FreePBX does not support this, for normal SIP phones.

This looks like a SMS module, I’m working on an IM module, I don’t know how it works for the dialplan, if there is any difference