Call progress tones - IVR not recognising GXW4104 PSTN line being hung up


#41

Thank you Kevin,
I do not know where to set callprogress=yes. I will find out where this setting is made and check / update its value to match your suggestion (after I understand its purpose).

Yes I am running Raspbx (FreePBX front end with Asterisk telephony back end, all running on the Raspian operating system, which is based on Debian (one of the many different Linux distributions) that has been optimised for the Raspberry Pi hardware.

This system is for my home.

I would prefer to persist with Raspbx for the current time, but thank you for this suggestion and information about 3cx and the availability of support which I was not aware of.


#42

Yep, unfortunately Rapberry Pi and activity for rectifying issues with it are not as active as it is here for Grandstream and also for 3CX - both forums have active resellers / technical telephony engineers that support the product set…

My suggestion might result in less frustration, but if you need to persist with Raspbian, i would suggest to look at the CLI of Asterisk to be able to check what is going on…

If it was a vanilla Asterisk I would suggest to use asterisk -r from linux command line and then whilst Asterisk displays type core set verbose 9 that should give you more detail and then look at a call coming in that doesn’t hang up and check what Asterisk says it sees.

This should provide you with better detail about what is happening with your build.

Also re CallProgress: https://www.voip-info.org/asterisk-config-indicationsconf/


#43

Just reporting that it is not possible for me to set a volume < -30 (ie. -30 ok, -31 and below not ok). If I set to -31, and save and reboot, when I check the FXO line setting the volume has reverted to -11. Go figure!

I have experimented with the Busy and Reorder tone, setting them both to

ch1-4:f1=425@-30,f2=425@-30,c=39/39;

And this has not improved or worsened anything.

I didn’t get chance to hook up the analog phone tonight, I will do that tomorrow and see what I hear when I hang up the call to it.


#44

Thank you Kevin,
I did view the Asterisk CLI last night with verbosity set to 3.

I will perform the test now with verbosity 9.

Dialing PSTN with mobile phone.
Extension 101 rings. Asterisk CLI output shown below before call is answered by extension 101.

== Using SIP RTP TOS bits 184

== Using SIP RTP CoS mark 5

> 0x1e29a60 – Strict RTP learning after remote address set to: AAA.BBB.C.38:5024

– Executing [029XXXXXXX@from-trunk:1] Set("SIP/GXWT1-00000108", "__DIRECTION=INBOUND") in new stack

– Executing [029XXXXXXX@from-trunk:2] Set("SIP/GXWT1-00000108", "CHANNEL(language)=en_AU") in new stack

– Executing [029XXXXXXX@from-trunk:3] Gosub("SIP/GXWT1-00000108", "sub-record-check,s,1(in,029XXXXXXX,dontcare)") in new stack

– Executing [s@sub-record-check:1] GotoIf("SIP/GXWT1-00000108", "0?initialized") in new stack

– Executing [s@sub-record-check:2] Set("SIP/GXWT1-00000108", "__REC_STATUS=INITIALIZED") in new stack

– Executing [s@sub-record-check:3] Set("SIP/GXWT1-00000108", "NOW=1579095831") in new stack

– Executing [s@sub-record-check:4] Set("SIP/GXWT1-00000108", "__DAY=16") in new stack

– Executing [s@sub-record-check:5] Set("SIP/GXWT1-00000108", "__MONTH=01") in new stack

– Executing [s@sub-record-check:6] Set("SIP/GXWT1-00000108", "__YEAR=2020") in new stack

– Executing [s@sub-record-check:7] Set("SIP/GXWT1-00000108", "__TIMESTR=20200116-004351") in new stack

– Executing [s@sub-record-check:8] Set("SIP/GXWT1-00000108", "__FROMEXTEN=unknown") in new stack

– Executing [s@sub-record-check:9] Set("SIP/GXWT1-00000108", "__MON_FMT=wav") in new stack

– Executing [s@sub-record-check:10] NoOp("SIP/GXWT1-00000108", "Recordings initialized") in new stack

– Executing [s@sub-record-check:11] ExecIf("SIP/GXWT1-00000108", "0?Set(ARG3=dontcare)") in new stack

– Executing [s@sub-record-check:12] Set("SIP/GXWT1-00000108", "REC_POLICY_MODE_SAVE=") in new stack

– Executing [s@sub-record-check:13] ExecIf("SIP/GXWT1-00000108", "0?Set(REC_STATUS=NO)") in new stack

– Executing [s@sub-record-check:14] GotoIf("SIP/GXWT1-00000108", "2?checkaction") in new stack

– Goto (sub-record-check,s,17)

– Executing [s@sub-record-check:17] GotoIf("SIP/GXWT1-00000108", "1?sub-record-check,in,1") in new stack

– Goto (sub-record-check,in,1)

– Executing [in@sub-record-check:1] NoOp("SIP/GXWT1-00000108", "Inbound Recording Check to 029XXXXXXX") in new stack

– Executing [in@sub-record-check:2] Set("SIP/GXWT1-00000108", "FROMEXTEN=unknown") in new stack

– Executing [in@sub-record-check:3] ExecIf("SIP/GXWT1-00000108", "7?Set(FROMEXTEN=unknown)") in new stack

– Executing [in@sub-record-check:4] Gosub("SIP/GXWT1-00000108", "recordcheck,1(dontcare,in,029XXXXXXX)") in new stack

– Executing [recordcheck@sub-record-check:1] NoOp("SIP/GXWT1-00000108", "Starting recording check against dontcare") in new stack

– Executing [recordcheck@sub-record-check:2] Goto("SIP/GXWT1-00000108", "dontcare") in new stack

– Goto (sub-record-check,recordcheck,3)

– Executing [recordcheck@sub-record-check:3] Return("SIP/GXWT1-00000108", "") in new stack

– Executing [in@sub-record-check:5] Return("SIP/GXWT1-00000108", "") in new stack

– Executing [029XXXXXXX@from-trunk:4] Set("SIP/GXWT1-00000108", "CHANNEL(tonezone)=au") in new stack

– Executing [029XXXXXXX@from-trunk:5] Set("SIP/GXWT1-00000108", "__FROM_DID=029XXXXXXX") in new stack

– Executing [029XXXXXXX@from-trunk:6] Set("SIP/GXWT1-00000108", "returnhere=1") in new stack

– Executing [029XXXXXXX@from-trunk:7] Gosub("SIP/GXWT1-00000108", "app-blacklist-check,s,1()") in new stack

– Executing [s@app-blacklist-check:1] GotoIf("SIP/GXWT1-00000108", "0?blacklisted") in new stack

– Executing [s@app-blacklist-check:2] Set("SIP/GXWT1-00000108", "CALLED_BLACKLIST=1") in new stack

– Executing [s@app-blacklist-check:3] Return("SIP/GXWT1-00000108", "") in new stack

– Executing [029XXXXXXX@from-trunk:8] Set("SIP/GXWT1-00000108", "CDR(did)=029XXXXXXX") in new stack

– Executing [029XXXXXXX@from-trunk:9] GotoIf("SIP/GXWT1-00000108", "0?") in new stack

– Executing [029XXXXXXX@from-trunk:10] ExecIf("SIP/GXWT1-00000108", "1 ?Set(CALLERID(name)=unknown)") in new stack

– Executing [029XXXXXXX@from-trunk:11] Set("SIP/GXWT1-00000108", "__MOHCLASS=") in new stack

– Executing [029XXXXXXX@from-trunk:12] Set("SIP/GXWT1-00000108", "__REVERSAL_REJECT=FALSE") in new stack

– Executing [029XXXXXXX@from-trunk:13] GotoIf("SIP/GXWT1-00000108", "1?post-reverse-charge") in new stack

– Goto (from-trunk,029XXXXXXX,15)

– Executing [029XXXXXXX@from-trunk:15] NoOp("SIP/GXWT1-00000108", "") in new stack

– Executing [029XXXXXXX@from-trunk:16] Set("SIP/GXWT1-00000108", "__CALLINGNAMEPRES_SV=allowed_not_screened") in new stack

– Executing [029XXXXXXX@from-trunk:17] Set("SIP/GXWT1-00000108", "__CALLINGNUMPRES_SV=allowed_not_screened") in new stack

– Executing [029XXXXXXX@from-trunk:18] Set("SIP/GXWT1-00000108", "CALLERID(name-pres)=allowed_not_screened") in new stack

– Executing [029XXXXXXX@from-trunk:19] Set("SIP/GXWT1-00000108", "CALLERID(num-pres)=allowed_not_screened") in new stack

– Executing [029XXXXXXX@from-trunk:20] Set("SIP/GXWT1-00000108", "__ALERT_INFO=R2") in new stack

– Executing [029XXXXXXX@from-trunk:21] NoOp("SIP/GXWT1-00000108", "CallerID Entry Point") in new stack

– Executing [029XXXXXXX@from-trunk:22] Goto("SIP/GXWT1-00000108", "from-did-direct,101,1") in new stack

– Goto (from-did-direct,101,1)

– Executing [101@from-did-direct:1] GotoIf("SIP/GXWT1-00000108", "1?ext-local,101,1:followme-check,101,1") in new stack

– Goto (ext-local,101,1)

– Executing [101@ext-local:1] Set("SIP/GXWT1-00000108", "__RINGTIMER=15") in new stack

– Executing [101@ext-local:2] Macro("SIP/GXWT1-00000108", "exten-vm,novm,101,0,0,0") in new stack

– Executing [s@macro-exten-vm:1] Macro("SIP/GXWT1-00000108", "user-callerid,") in new stack

– Executing [s@macro-user-callerid:1] Set("SIP/GXWT1-00000108", "TOUCH_MONITOR=1579095831.1075") in new stack

– Executing [s@macro-user-callerid:2] Set("SIP/GXWT1-00000108", "AMPUSER=unknown") in new stack

– Executing [s@macro-user-callerid:3] GotoIf("SIP/GXWT1-00000108", "0?report") in new stack

– Executing [s@macro-user-callerid:4] ExecIf("SIP/GXWT1-00000108", "1?Set(REALCALLERIDNUM=unknown)") in new stack

– Executing [s@macro-user-callerid:5] Set("SIP/GXWT1-00000108", "AMPUSER=") in new stack

– Executing [s@macro-user-callerid:6] GotoIf("SIP/GXWT1-00000108", "0?limit") in new stack

– Executing [s@macro-user-callerid:7] Set("SIP/GXWT1-00000108", "AMPUSERCIDNAME=") in new stack

– Executing [s@macro-user-callerid:8] ExecIf("SIP/GXWT1-00000108", "0?Set(__CIDMASQUERADING=TRUE)") in new stack

– Executing [s@macro-user-callerid:9] GotoIf("SIP/GXWT1-00000108", "1?report") in new stack

– Goto (macro-user-callerid,s,17)

– Executing [s@macro-user-callerid:17] NoOp("SIP/GXWT1-00000108", "Macro Depth is 2") in new stack

– Executing [s@macro-user-callerid:18] GotoIf("SIP/GXWT1-00000108", "1?report2:macroerror") in new stack

– Goto (macro-user-callerid,s,19)

– Executing [s@macro-user-callerid:19] GotoIf("SIP/GXWT1-00000108", "0?continue") in new stack

– Executing [s@macro-user-callerid:20] ExecIf("SIP/GXWT1-00000108", "1?Set(__CALLEE_ACCOUNCODE=)") in new stack

– Executing [s@macro-user-callerid:21] Set("SIP/GXWT1-00000108", "__TTL=64") in new stack

– Executing [s@macro-user-callerid:22] GotoIf("SIP/GXWT1-00000108", "1?continue") in new stack

– Goto (macro-user-callerid,s,38)

– Executing [s@macro-user-callerid:38] Set("SIP/GXWT1-00000108", "CALLERID(number)=unknown") in new stack

– Executing [s@macro-user-callerid:39] Set("SIP/GXWT1-00000108", "CALLERID(name)=unknown") in new stack

– Executing [s@macro-user-callerid:40] GotoIf("SIP/GXWT1-00000108", "0?cnum") in new stack

– Executing [s@macro-user-callerid:41] Set("SIP/GXWT1-00000108", "CDR(cnam)=unknown") in new stack

– Executing [s@macro-user-callerid:42] Set("SIP/GXWT1-00000108", "CDR(cnum)=unknown") in new stack

– Executing [s@macro-user-callerid:43] Set("SIP/GXWT1-00000108", "CHANNEL(language)=en_AU") in new stack

– Executing [s@macro-exten-vm:2] Set("SIP/GXWT1-00000108", "RingGroupMethod=none") in new stack

– Executing [s@macro-exten-vm:3] Set("SIP/GXWT1-00000108", "__EXTTOCALL=101") in new stack

– Executing [s@macro-exten-vm:4] Set("SIP/GXWT1-00000108", "__PICKUPMARK=101") in new stack

– Executing [s@macro-exten-vm:5] Set("SIP/GXWT1-00000108", "RT=") in new stack

– Executing [s@macro-exten-vm:6] ExecIf("SIP/GXWT1-00000108", "0?Macro(vm,novm,DIRECTDIAL,)") in new stack

– Executing [s@macro-exten-vm:7] ExecIf("SIP/GXWT1-00000108", "0?MacroExit()") in new stack

– Executing [s@macro-exten-vm:8] ExecIf("SIP/GXWT1-00000108", "0?Gosub(ext-intercom,*80101,1())") in new stack

– Executing [s@macro-exten-vm:9] ExecIf("SIP/GXWT1-00000108", "0?MacroExit()") in new stack

– Executing [s@macro-exten-vm:10] ExecIf("SIP/GXWT1-00000108", "0?ChanSpy(PJSIP/101,q)") in new stack

– Executing [s@macro-exten-vm:11] ExecIf("SIP/GXWT1-00000108", "0?MacroExit()") in new stack

[2020-01-16 00:43:51] ERROR[17147][C-000001d9]: res_pjsip_header_funcs.c:454 func_read_header: This function requires a PJSIP channel.

– Executing [s@macro-exten-vm:12] ExecIf("SIP/GXWT1-00000108", "0?Macro(vm,novm,DIRECTDIAL,)") in new stack

[2020-01-16 00:43:51] ERROR[17147][C-000001d9]: res_pjsip_header_funcs.c:454 func_read_header: This function requires a PJSIP channel.

[2020-01-16 00:43:51] ERROR[17147][C-000001d9]: res_pjsip_header_funcs.c:454 func_read_header: This function requires a PJSIP channel.

– Executing [s@macro-exten-vm:13] ExecIf("SIP/GXWT1-00000108", "0?MacroExit()") in new stack

[2020-01-16 00:43:51] ERROR[17147][C-000001d9]: res_pjsip_header_funcs.c:454 func_read_header: This function requires a PJSIP channel.

[2020-01-16 00:43:51] ERROR[17147][C-000001d9]: res_pjsip_header_funcs.c:454 func_read_header: This function requires a PJSIP channel.

– Executing [s@macro-exten-vm:14] ExecIf("SIP/GXWT1-00000108", "0?Gosub(ext-intercom,*80101,1())") in new stack

[2020-01-16 00:43:51] ERROR[17147][C-000001d9]: res_pjsip_header_funcs.c:454 func_read_header: This function requires a PJSIP channel.

[2020-01-16 00:43:51] ERROR[17147][C-000001d9]: res_pjsip_header_funcs.c:454 func_read_header: This function requires a PJSIP channel.

– Executing [s@macro-exten-vm:15] ExecIf("SIP/GXWT1-00000108", "0?MacroExit()") in new stack

[2020-01-16 00:43:51] ERROR[17147][C-000001d9]: res_pjsip_header_funcs.c:454 func_read_header: This function requires a PJSIP channel.

[2020-01-16 00:43:51] ERROR[17147][C-000001d9]: res_pjsip_header_funcs.c:454 func_read_header: This function requires a PJSIP channel.

– Executing [s@macro-exten-vm:16] ExecIf("SIP/GXWT1-00000108", "0?ChanSpy(PJSIP/101,q)") in new stack

[2020-01-16 00:43:51] ERROR[17147][C-000001d9]: res_pjsip_header_funcs.c:454 func_read_header: This function requires a PJSIP channel.

[2020-01-16 00:43:51] ERROR[17147][C-000001d9]: res_pjsip_header_funcs.c:454 func_read_header: This function requires a PJSIP channel.

– Executing [s@macro-exten-vm:17] ExecIf("SIP/GXWT1-00000108", "0?MacroExit()") in new stack

[2020-01-16 00:43:51] ERROR[17147][C-000001d9]: res_pjsip_header_funcs.c:454 func_read_header: This function requires a PJSIP channel.

– Executing [s@macro-exten-vm:18] Gosub("SIP/GXWT1-00000108", "sub-record-check,s,1(exten,101,dontcare)") in new stack

– Executing [s@sub-record-check:1] GotoIf("SIP/GXWT1-00000108", "7?initialized") in new stack

– Goto (sub-record-check,s,10)

– Executing [s@sub-record-check:10] NoOp("SIP/GXWT1-00000108", "Recordings initialized") in new stack

– Executing [s@sub-record-check:11] ExecIf("SIP/GXWT1-00000108", "0?Set(ARG3=dontcare)") in new stack

– Executing [s@sub-record-check:12] Set("SIP/GXWT1-00000108", "REC_POLICY_MODE_SAVE=") in new stack

– Executing [s@sub-record-check:13] ExecIf("SIP/GXWT1-00000108", "0?Set(REC_STATUS=NO)") in new stack

– Executing [s@sub-record-check:14] GotoIf("SIP/GXWT1-00000108", "5?checkaction") in new stack

– Goto (sub-record-check,s,17)

– Executing [s@sub-record-check:17] GotoIf("SIP/GXWT1-00000108", "1?sub-record-check,exten,1") in new stack

– Goto (sub-record-check,exten,1)

– Executing [exten@sub-record-check:1] NoOp("SIP/GXWT1-00000108", "Exten Recording Check between unknown and 101") in new stack

– Executing [exten@sub-record-check:2] Set("SIP/GXWT1-00000108", "CALLTYPE=external") in new stack

– Executing [exten@sub-record-check:3] ExecIf("SIP/GXWT1-00000108", "0?Set(CALLTYPE=)") in new stack

– Executing [exten@sub-record-check:4] Set("SIP/GXWT1-00000108", "CALLEE=dontcare") in new stack

– Executing [exten@sub-record-check:5] ExecIf("SIP/GXWT1-00000108", "0?Set(CALLEE=dontcare)") in new stack

– Executing [exten@sub-record-check:6] GotoIf("SIP/GXWT1-00000108", "1?callee") in new stack

– Goto (sub-record-check,exten,11)

– Executing [exten@sub-record-check:11] Gosub("SIP/GXWT1-00000108", "recordcheck,1(dontcare,external,101)") in new stack

– Executing [recordcheck@sub-record-check:1] NoOp("SIP/GXWT1-00000108", "Starting recording check against dontcare") in new stack

– Executing [recordcheck@sub-record-check:2] Goto("SIP/GXWT1-00000108", "dontcare") in new stack

– Goto (sub-record-check,recordcheck,3)

– Executing [recordcheck@sub-record-check:3] Return("SIP/GXWT1-00000108", "") in new stack

– Executing [exten@sub-record-check:12] Return("SIP/GXWT1-00000108", "") in new stack

– Executing [s@macro-exten-vm:19] GotoIf("SIP/GXWT1-00000108", "1?macrodial") in new stack

– Goto (macro-exten-vm,s,25)

– Executing [s@macro-exten-vm:25] GosubIf("SIP/GXWT1-00000108", "0?clrheader,1()") in new stack

– Executing [s@macro-exten-vm:26] Macro("SIP/GXWT1-00000108", "dial-one,HhTtr,101") in new stack

– Executing [s@macro-dial-one:1] Set("SIP/GXWT1-00000108", "DEXTEN=101") in new stack

– Executing [s@macro-dial-one:2] ExecIf("SIP/GXWT1-00000108", "0?Set(__EXTTOCALL=101)") in new stack

– Executing [s@macro-dial-one:3] Set("SIP/GXWT1-00000108", "DIALSTATUS_CW=") in new stack

– Executing [s@macro-dial-one:4] GosubIf("SIP/GXWT1-00000108", "0?screen,1()") in new stack

– Executing [s@macro-dial-one:5] GosubIf("SIP/GXWT1-00000108", "0?cf,1()") in new stack

– Executing [s@macro-dial-one:6] GotoIf("SIP/GXWT1-00000108", "1?skip1") in new stack

– Goto (macro-dial-one,s,9)

– Executing [s@macro-dial-one:9] GotoIf("SIP/GXWT1-00000108", "0?nodial") in new stack

– Executing [s@macro-dial-one:10] GotoIf("SIP/GXWT1-00000108", "0?continue") in new stack

– Executing [s@macro-dial-one:11] Set("SIP/GXWT1-00000108", "EXTHASCW=ENABLED") in new stack

– Executing [s@macro-dial-one:12] GotoIf("SIP/GXWT1-00000108", "0?next1:cwinusebusy") in new stack

– Goto (macro-dial-one,s,24)

– Executing [s@macro-dial-one:24] GotoIf("SIP/GXWT1-00000108", "0?next3:continue") in new stack

– Goto (macro-dial-one,s,26)

– Executing [s@macro-dial-one:26] GotoIf("SIP/GXWT1-00000108", "0?nodial") in new stack

– Executing [s@macro-dial-one:27] GosubIf("SIP/GXWT1-00000108", "1?dstring,1():dlocal,1()") in new stack

– Executing [dstring@macro-dial-one:1] Set("SIP/GXWT1-00000108", "DSTRING=") in new stack

– Executing [dstring@macro-dial-one:2] Set("SIP/GXWT1-00000108", "DEVICES=101") in new stack

– Executing [dstring@macro-dial-one:3] ExecIf("SIP/GXWT1-00000108", "0?Return()") in new stack

– Executing [dstring@macro-dial-one:4] ExecIf("SIP/GXWT1-00000108", "0?Set(DEVICES=01)") in new stack

– Executing [dstring@macro-dial-one:5] Set("SIP/GXWT1-00000108", "LOOPCNT=1") in new stack

– Executing [dstring@macro-dial-one:6] Set("SIP/GXWT1-00000108", "ITER=1") in new stack

– Executing [dstring@macro-dial-one:7] Set("SIP/GXWT1-00000108", "THISDIAL=PJSIP/101") in new stack

– Executing [dstring@macro-dial-one:8] GotoIf("SIP/GXWT1-00000108", "0?docheck") in new stack

– Executing [dstring@macro-dial-one:9] NoOp("SIP/GXWT1-00000108", "Debug: Found PJSIP Destination PJSIP/101") in new stack

– Executing [dstring@macro-dial-one:10] GotoIf("SIP/GXWT1-00000108", "0?doset") in new stack

– Executing [dstring@macro-dial-one:11] NoOp("SIP/GXWT1-00000108", "Debug: Updating PJSIP Destination with PJSIP_DIAL_CONTACTS") in new stack

– Executing [dstring@macro-dial-one:12] Set("SIP/GXWT1-00000108", "THISDIAL=PJSIP/101/sip:101@AAA.BBB.C.32:5062") in new stack

– Executing [dstring@macro-dial-one:13] ExecIf("SIP/GXWT1-00000108", "0?Set(DIALSTATUS=CHANUNAVAIL)") in new stack

– Executing [dstring@macro-dial-one:14] GotoIf("SIP/GXWT1-00000108", "0?skipset") in new stack

– Executing [dstring@macro-dial-one:15] Set("SIP/GXWT1-00000108", "DSTRING=PJSIP/101/sip:101@AAA.BBB.C.32:5062&") in new stack

– Executing [dstring@macro-dial-one:16] Set("SIP/GXWT1-00000108", "ITER=2") in new stack

– Executing [dstring@macro-dial-one:17] GotoIf("SIP/GXWT1-00000108", "0?begin") in new stack

– Executing [dstring@macro-dial-one:18] ExecIf("SIP/GXWT1-00000108", "0?Return()") in new stack

– Executing [dstring@macro-dial-one:19] Set("SIP/GXWT1-00000108", "DSTRING=PJSIP/101/sip:101@AAA.BBB.C.32:5062") in new stack

– Executing [dstring@macro-dial-one:20] Return("SIP/GXWT1-00000108", "") in new stack

– Executing [s@macro-dial-one:28] GotoIf("SIP/GXWT1-00000108", "0?nodial") in new stack

– Executing [s@macro-dial-one:29] GotoIf("SIP/GXWT1-00000108", "0?skiptrace") in new stack

– Executing [s@macro-dial-one:30] GosubIf("SIP/GXWT1-00000108", "0?ctset,1():ctclear,1()") in new stack

– Executing [ctclear@macro-dial-one:1] NoOp("SIP/GXWT1-00000108", "Deleting: CALLTRACE/101 ") in new stack

– Executing [ctclear@macro-dial-one:2] Return("SIP/GXWT1-00000108", "") in new stack

– Executing [s@macro-dial-one:31] Set("SIP/GXWT1-00000108", "D_OPTIONS=HhTtr") in new stack

– Executing [s@macro-dial-one:32] GosubIf("SIP/GXWT1-00000108", "1?func-set-sipheader,s,1(Alert-Info,R2)") in new stack

– Executing [s@func-set-sipheader:1] NoOp("SIP/GXWT1-00000108", "Sip Add Header function called. Adding Alert-Info = R2") in new stack

– Executing [s@func-set-sipheader:2] Set("SIP/GXWT1-00000108", "HASH(__SIPHEADERS,Alert-Info)=R2") in new stack

– Executing [s@func-set-sipheader:3] Return("SIP/GXWT1-00000108", "") in new stack

– Executing [s@macro-dial-one:33] NoOp("SIP/GXWT1-00000108", "Blind Transfer: , Attended Transfer: , User: , Alert Info: R2") in new stack

– Executing [s@macro-dial-one:34] ExecIf("SIP/GXWT1-00000108", "0?Set(ALERT_INFO=)") in new stack

– Executing [s@macro-dial-one:35] ExecIf("SIP/GXWT1-00000108", "0?Set(ALERT_INFO=)") in new stack

– Executing [s@macro-dial-one:36] ExecIf("SIP/GXWT1-00000108", "0?Set(ALERT_INFO=)") in new stack

– Executing [s@macro-dial-one:37] ExecIf("SIP/GXWT1-00000108", "0?Set(ALERT_INFO=R2;volume=)") in new stack

– Executing [s@macro-dial-one:38] ExecIf("SIP/GXWT1-00000108", "0?Set(ALERT_INFO=R2;volume=)") in new stack

– Executing [s@macro-dial-one:39] GosubIf("SIP/GXWT1-00000108", "1?func-set-sipheader,s,1(Alert-Info,R2)") in new stack

– Executing [s@func-set-sipheader:1] NoOp("SIP/GXWT1-00000108", "Sip Add Header function called. Adding Alert-Info = R2") in new stack

– Executing [s@func-set-sipheader:2] Set("SIP/GXWT1-00000108", "HASH(__SIPHEADERS,Alert-Info)=R2") in new stack

– Executing [s@func-set-sipheader:3] Return("SIP/GXWT1-00000108", "") in new stack

– Executing [s@macro-dial-one:40] ExecIf("SIP/GXWT1-00000108", "0?Set(CHANNEL(musicclass)=)") in new stack

– Executing [s@macro-dial-one:41] GosubIf("SIP/GXWT1-00000108", "0?qwait,1()") in new stack

– Executing [s@macro-dial-one:42] Set("SIP/GXWT1-00000108", "__CWIGNORE=") in new stack

– Executing [s@macro-dial-one:43] Set("SIP/GXWT1-00000108", "__KEEPCID=TRUE") in new stack

– Executing [s@macro-dial-one:44] GotoIf("SIP/GXWT1-00000108", "0?usegoto,1") in new stack

– Executing [s@macro-dial-one:45] GotoIf("SIP/GXWT1-00000108", "1?godial") in new stack

– Goto (macro-dial-one,s,50)

– Executing [s@macro-dial-one:50] Macro("SIP/GXWT1-00000108", "dialout-one-predial-hook,") in new stack

– Executing [s@macro-dialout-one-predial-hook:1] MacroExit("SIP/GXWT1-00000108", "") in new stack

– Executing [s@macro-dial-one:51] ExecIf("SIP/GXWT1-00000108", "1?Set(D_OPTIONS=HhtrI)") in new stack

– Executing [s@macro-dial-one:52] ExecIf("SIP/GXWT1-00000108", "0?Set(CWRING=r(callwaiting)):Set(CWRING=)") in new stack

– Executing [s@macro-dial-one:53] NoOp("SIP/GXWT1-00000108", "") in new stack

– Executing [s@macro-dial-one:54] ExecIf("SIP/GXWT1-00000108", "0?Set(D_OPTIONS=HhtrIg)") in new stack

– Executing [s@macro-dial-one:55] Dial("SIP/GXWT1-00000108", "PJSIP/101/sip:101@AAA.BBB.C.32:5062,HhtrIb(func-apply-sipheaders^s^1)") in new stack

– PJSIP/101-000002ee Internal Gosub(func-apply-sipheaders,s,1) start

– Executing [s@func-apply-sipheaders:1] NoOp("PJSIP/101-000002ee", "Applying SIP Headers to channel PJSIP/101-000002ee") in new stack

– Executing [s@func-apply-sipheaders:2] Set("PJSIP/101-000002ee", "TECH=PJSIP") in new stack

– Executing [s@func-apply-sipheaders:3] Set("PJSIP/101-000002ee", "SIPHEADERKEYS=Alert-Info") in new stack

– Executing [s@func-apply-sipheaders:4] While("PJSIP/101-000002ee", "1") in new stack

– Executing [s@func-apply-sipheaders:5] Set("PJSIP/101-000002ee", "sipheader=R2") in new stack

– Executing [s@func-apply-sipheaders:6] ExecIf("PJSIP/101-000002ee", "0?SIPRemoveHeader(Alert-Info:)") in new stack

– Executing [s@func-apply-sipheaders:7] ExecIf("PJSIP/101-000002ee", "0?Set(PJSIP_HEADER(remove,Alert-Info)=)") in new stack

– Executing [s@func-apply-sipheaders:8] ExecIf("PJSIP/101-000002ee", "1?Set(sipheader=<http://127.0.0.1>;info=R2)") in new stack

– Executing [s@func-apply-sipheaders:9] ExecIf("PJSIP/101-000002ee", "0?Set(sipheader=<http://127.0.0.1><http://127.0.0.1>;info=R2)") in new stack

– Executing [s@func-apply-sipheaders:10] ExecIf("PJSIP/101-000002ee", "0?SIPAddHeader(Alert-Info:<http://127.0.0.1>;info=R2)") in new stack

– Executing [s@func-apply-sipheaders:11] ExecIf("PJSIP/101-000002ee", "1?Set(PJSIP_HEADER(add,Alert-Info)=<http://127.0.0.1>;info=R2)") in new stack

– Executing [s@func-apply-sipheaders:12] EndWhile("PJSIP/101-000002ee", "") in new stack

– Executing [s@func-apply-sipheaders:4] While("PJSIP/101-000002ee", "0") in new stack

– Executing [s@func-apply-sipheaders:13] Return("PJSIP/101-000002ee", "") in new stack

== Spawn extension (from-internal, 101, 1) exited non-zero on β€˜PJSIP/101-000002ee’

– PJSIP/101-000002ee Internal Gosub(func-apply-sipheaders,s,1) complete GOSUB_RETVAL=

== Using SIP RTP Audio TOS bits 184

== Using SIP RTP Audio TOS bits 184 in TCLASS field.

== Using SIP RTP Audio CoS mark 5

– Called PJSIP/101/sip:101@AAA.BBB.C.32:5062

– Connected line update to SIP/GXWT1-00000108 prevented.

– PJSIP/101-000002ee is ringing

– PJSIP/101-000002ee is ringing

Call is then answered by me by pressing handsfree button on extension 101 and caller and callee can tallk.
Asterisk CLI output below.

– PJSIP/101-000002f1 answered SIP/GXWT1-0000010b

> 0x1522c20 – Strict RTP learning after remote address set to: AAA.BBB.C.32:11784

– Channel PJSIP/101-000002f1 joined β€˜simple_bridge’ basic-bridge <8360b8de-79bf-4bfd-ae2e-dc2930c98bec>

– Channel SIP/GXWT1-0000010b joined β€˜simple_bridge’ basic-bridge <8360b8de-79bf-4bfd-ae2e-dc2930c98bec>

> 0x1e29a60 – Strict RTP switching to RTP target address AAA.BBB.C.38:5004 as source

> 0x1e29a60 – Strict RTP learning complete - Locking on source address AAA.BBB.C.38:5004

> 0x1522c20 – Strict RTP switching to RTP target address AAA.BBB.C.32:11784 as source

> 0x1522c20 – Strict RTP learning complete - Locking on source address AAA.BBB.C.32:11784

When mobile phone is hung up, no change is seen at the Asterisk CLI for 10 seconds, and then the following CLI output is seen and this co-incides with me hearing the busy tone on extension 101 for 1 – 2 seconds;
Asterisk CLI output shown below.

– Channel SIP/GXWT1-0000010b left β€˜simple_bridge’ basic-bridge <8360b8de-79bf-4bfd-ae2e-dc2930c98bec>

– Channel PJSIP/101-000002f1 left β€˜simple_bridge’ basic-bridge <8360b8de-79bf-4bfd-ae2e-dc2930c98bec>

== Spawn extension (macro-dial-one, s, 55) exited non-zero on β€˜SIP/GXWT1-0000010b’ in macro β€˜dial-one’

== Spawn extension (macro-exten-vm, s, 26) exited non-zero on β€˜SIP/GXWT1-0000010b’ in macro β€˜exten-vm’

== Spawn extension (ext-local, 101, 2) exited non-zero on β€˜SIP/GXWT1-0000010b’

– Executing [h@ext-local:1] Macro("SIP/GXWT1-0000010b", "hangupcall,") in new stack

– Executing [s@macro-hangupcall:1] GotoIf("SIP/GXWT1-0000010b", "1?theend") in new stack

– Goto (macro-hangupcall,s,3)

– Executing [s@macro-hangupcall:3] ExecIf("SIP/GXWT1-0000010b", "0?Set(CDR(recordingfile)=)") in new stack

– Executing [s@macro-hangupcall:4] NoOp("SIP/GXWT1-0000010b", "PJSIP/101-000002f1 montior file= ") in new stack

– Executing [s@macro-hangupcall:5] GotoIf("SIP/GXWT1-0000010b", "1?skipagi") in new stack

– Goto (macro-hangupcall,s,7)

– Executing [s@macro-hangupcall:7] Hangup("SIP/GXWT1-0000010b", "") in new stack

== Spawn extension (macro-hangupcall, s, 7) exited non-zero on β€˜SIP/GXWT1-0000010b’ in macro β€˜hangupcall’

== Spawn extension (ext-local, h, 1) exited non-zero on β€˜SIP/GXWT1-0000010b’

Does this output suggest that the GXW is actually terminating the call (since it is the first channel to leave the β€˜simple_bridge’? I just don’t know why it is taking 10 seconds to terminate the call.

I wonder if it is because the CAU is not sending the busy tone for 10 seconds following me hanging up my mobile phone. I will check this tomorrow when I connect my analog phone to the phone socket and call it with my mobile and see what tone I hear when I hand up.

I have changed the PSTN number in the above logs for privacy reasons (029XXXXXXX) and the internal private IP address has also been masked with AAA.BB.C.

Any further thoughts or suggestions would be very much appreciated.


#45

Why not syslog from GXW ? It will show you how line work. You should be able to understand it.
99% is not detecting busy on line, ale depending of settings you need some time to see it (cadence)


#46

I have completed some testing involving connecting an analog phone to the PSTN line.

  1. I called the PSTN phone number from my mobile phone.
  2. The analog phone rang.
  3. I answered it and then hung up my mobile phone and listened to the sounds coming from the analog phone.
  4. I heard nothing for 10 seconds. Then I heard the busy tone.

From the above, it is clear that my CAU is not sending the busy tone until 10 seconds have elapsed following the mobile phone call being hung up.

This explains why the GXW does not disconnect Line 1 for 10 seconds, as it does not hear the busy tone for 10 seconds. As soon as it does, it disconnects the line.

If I don’t set all the frequencies to the same value for all CPTs, then the GXW does not release the line at all, even when the busy tone is sent from my CAU. This is very peculiar as I don’t see how nor understand why the, for example, dial tone frequency should have any impact on the way in which the GXW interprets the busy tone.

Also, if I keep the busy tone volume at -11, it still works the way I would now expect it to (ie. disconnects the line when it hears the busy tone).

I am satisfied with the performance of the device with respect to this issue (not withstanding the frequency from an unrelated CPT breaking things). So thank you all for your help and assistance. For interest and curiosity reasons only, I would be interested if anyone has further thoughts on the peculiar frequency value behaviour.

Now on to the callerid problem.


#47

It should not have related unless they are same ?
Dial is needed for fast dial out via PSTN (also it is what you here if you have stage dialling).