edit nvm I found how to fix it with this:
grep -i --binary-files=without-match --exclude-dir={sys,proc,run,htm,html} --include=\* -rnw '/' -e "192.168.1.175"
edit nvm I found how to fix it with this:
grep -i --binary-files=without-match --exclude-dir={sys,proc,run,htm,html} --include=\* -rnw '/' -e "192.168.1.175"
Sorry I didn’t see your other thread on the matter. I surmise that REST Apps daemon has the logic that handles monitoring presence changes and activating FMFM or DND even though it’s beyond the phone scope. And that stinks because you would have to buy the commercial module to make this unrelated function work. Even worse, in my opinion, is that the documentation seems to indicate this should “just work” and doesn’t mention needing to buy REST Apps at all.
That one sounds familiar - I recall something about the ARI module doesn’t play well with ringing multiple phones on the same extension. It was about a year ago that we had a lot of discussion about this.
This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.
Correct, once a device has multiple contacts that are natted, EPM is no longer able to track the status.
This seems unlikely. There is no way for the phone to know what is displayed for status in EPM so it will not behave differently. Seems more likely that the NTP server(s) is not set correctly in the phone.
Config jolt to originate calls to the local channel instead of the pjsip channel. FreePBX has all the dialplan necessary to dial all contacts and devices for the extension.
Thanks Lorne you da man. With regards to the time I’ve set up the correct ntp server on both the template and manually on the phone. It just keeps blinking the wrong date/time no matter what I change. I assumed it had something to do with EPM but you’ve ruled that one out.
Our aim is to make it easy to keep your system compliant with US laws, but not impede you if you’re not subject to US laws. I’ll be sharing more details later this month, but in general, the requirements of the new US laws center around being able to dial 911 directly (with no prefix), having administrators notified when someone dials emergency services, and making sure that outbound emergency calls have a valid e911-enabled DID.
I know that the mirror server has had issues again today, and I apologize for that. Let me just say that if it were as easy as just moving “that one up a few weeks”, I certainly would want that too. Please rest assured that it’s a priority for the FreePBX development team.
I haven’t seen much of those sorts of issues in the past few months, but I’ll certainly keep that in mind.
I’ll pass this suggestion on to the team that’s building the videos, thanks.
what ntp server did you use? the polycoms can see inside your lan but . . .
The template was set to us.pool.ntp.org and then I changed it to pool.ntp.org and tried. No dice.
Hey All,
Just to let everyone know, it looks like the mirror servers have been having some issues that might be manifesting to users in different ways (challenges with updates, etc).
We’ve been looking into them, and so far it looks like it’s mostly load related (perhaps due to the recent security update and automatic updates). We’re throwing some more hardware/resources at the mirror infrastructure which I think will get things out of the rut in the short term.
I think in the longer term, as per @jsmith 's post, we’re looking into improving the mirror server architecture/infrastructure to make it handle dynamic loads issues that come up (particularly when all the automatic security updates come in, etc).
Sorry about the trouble everybody, hopefully things will start to calm down a bit. We’ll continue to keep our eyes on it as well and see if we need to make any additional adjustments.
Best wishes,
Matthew Fredrickson
Any way you guys can try again?
I think we’ve got the mirror servers in a better spot now, but it would be good to know if there are any outstanding issues.
Thanks!
Matt
I was able to run an update successfully
It’s working now on both v14 and v13 deployments. Thanks!
you should install and configure ntpd on your pbx and use that or provide firewall rules for port 123 and a gateway on the phone. this latter solution prone to attack
But it does not use said dial plan correctly in all the right places.
Can the phones get to the internet?
If yes, can the get proper DNS from internet addresses?
If yes, can they get NTP from the internet?
Lots of things you could have broke here.
I have just deployed a new Distro FreepBX and patched it fully Current PBX Version: 15.0.16.38
Current System Version:12.7.6-1910-1.sng7 Astersik 16.
I have a number of other PBX’s that are not having the the following issue and the same SIP provider is being used. I understand that Outbound CID is configured in 4 or 5 places and in this case I have configured the CID to present at the Outbound Route level. In the end it doesn’t matter if a configure a CID on the Trunk and enable Force Trunk CID, the end result is the carrier only is presented with the trunk name and thus people receiving the call see ‘unknown’ caller.
Here are the PBX logs as well as the NetCapture logs. Really appreciate any input on this one… I am pulling my hair out.
-----------PBX Logs-----------------
[2020-01-10 15:53:53] VERBOSE[8830][C-000000dc] pbx.c: Executing [s@macro-user-callerid:38] Set(“SIP/9991001-00000102”, “CALLERID(number)=999”) in new stack
[2020-01-10 15:55:43] NOTICE[2649] chan_sip.c: Received SIP subscribe for peer without mailbox: 9991001
[2020-01-10 15:56:24] VERBOSE[9172][C-000000dd] pbx.c: Executing [6475021488@from-internal:1] Macro(“SIP/9991001-00000103”, “user-callerid,LIMIT”) in new stack
[2020-01-10 15:56:24] VERBOSE[9172][C-000000dd] pbx.c: Executing [s@macro-user-callerid:1] Set(“SIP/9991001-00000103”, “TOUCH_MONITOR=1578689784.310”) in new stack
[2020-01-10 15:56:24] VERBOSE[9172][C-000000dd] pbx.c: Executing [s@macro-user-callerid:2] Set(“SIP/9991001-00000103”, “AMPUSER=9991001”) in new stack
[2020-01-10 15:56:24] VERBOSE[9172][C-000000dd] pbx.c: Executing [s@macro-user-callerid:3] GotoIf(“SIP/9991001-00000103”, “0?report”) in new stack
[2020-01-10 15:56:24] VERBOSE[9172][C-000000dd] pbx.c: Executing [s@macro-user-callerid:4] ExecIf(“SIP/9991001-00000103”, “1?Set(REALCALLERIDNUM=9991001)”) in new stack
[2020-01-10 15:56:24] VERBOSE[9172][C-000000dd] pbx.c: Executing [s@macro-user-callerid:5] Set(“SIP/9991001-00000103”, “AMPUSER=999”) in new stack
[2020-01-10 15:56:24] VERBOSE[9172][C-000000dd] pbx.c: Executing [s@macro-user-callerid:6] GotoIf(“SIP/9991001-00000103”, “0?limit”) in new stack
[2020-01-10 15:56:24] VERBOSE[9172][C-000000dd] pbx.c: Executing [s@macro-user-callerid:7] Set(“SIP/9991001-00000103”, “AMPUSERCIDNAME=IHF Testing”) in new stack
[2020-01-10 15:56:24] VERBOSE[9172][C-000000dd] pbx.c: Executing [s@macro-user-callerid:8] ExecIf(“SIP/9991001-00000103”, “0?Set(__CIDMASQUERADING=TRUE)”) in new stack
[2020-01-10 15:56:24] VERBOSE[9172][C-000000dd] pbx.c: Executing [s@macro-user-callerid:9] GotoIf(“SIP/9991001-00000103”, “0?report”) in new stack
[2020-01-10 15:56:24] VERBOSE[9172][C-000000dd] pbx.c: Executing [s@macro-user-callerid:10] Set(“SIP/9991001-00000103”, “AMPUSERCID=999”) in new stack
[2020-01-10 15:56:24] VERBOSE[9172][C-000000dd] pbx.c: Executing [s@macro-user-callerid:11] Set(“SIP/9991001-00000103”, “__DIAL_OPTIONS=HhTtr”) in new stack
[2020-01-10 15:56:24] VERBOSE[9172][C-000000dd] pbx.c: Executing [s@macro-user-callerid:12] Set(“SIP/9991001-00000103”, “CALLERID(all)=“IHF Testing” <999>”) in new stack
[2020-01-10 15:56:24] VERBOSE[9172][C-000000dd] pbx.c: Executing [s@macro-user-callerid:13] ExecIf(“SIP/9991001-00000103”, “0?Set(CALLERID(all)=)”) in new stack
[2020-01-10 15:56:24] VERBOSE[9172][C-000000dd] pbx.c: Executing [s@macro-user-callerid:14] GotoIf(“SIP/9991001-00000103”, “0?limit”) in new stack
[2020-01-10 15:56:24] VERBOSE[9172][C-000000dd] pbx.c: Executing [s@macro-user-callerid:15] ExecIf(“SIP/9991001-00000103”, “1?Set(GROUP(concurrency_limit)=999)”) in new stack
[2020-01-10 15:56:24] VERBOSE[9172][C-000000dd] pbx.c: Executing [s@macro-user-callerid:16] ExecIf(“SIP/9991001-00000103”, “0?Set(CHANNEL(language)=)”) in new stack
[2020-01-10 15:56:24] VERBOSE[9172][C-000000dd] pbx.c: Executing [s@macro-user-callerid:17] NoOp(“SIP/9991001-00000103”, “Macro Depth is 1”) in new stack
[2020-01-10 15:56:24] VERBOSE[9172][C-000000dd] pbx.c: Executing [s@macro-user-callerid:18] GotoIf(“SIP/9991001-00000103”, “1?report2:macroerror”) in new stack
[2020-01-10 15:56:24] VERBOSE[9172][C-000000dd] pbx.c: Executing [s@macro-user-callerid:19] GotoIf(“SIP/9991001-00000103”, “1?continue”) in new stack
[2020-01-10 15:56:24] VERBOSE[9172][C-000000dd] pbx.c: Executing [s@macro-user-callerid:38] Set(“SIP/9991001-00000103”, “CALLERID(number)=999”) in new stack
[2020-01-10 15:56:24] VERBOSE[9172][C-000000dd] pbx.c: Executing [s@macro-user-callerid:39] Set(“SIP/9991001-00000103”, “CALLERID(name)=IHF Testing”) in new stack
[2020-01-10 15:56:24] VERBOSE[9172][C-000000dd] pbx.c: Executing [s@macro-user-callerid:40] GotoIf(“SIP/9991001-00000103”, “0?cnum”) in new stack
[2020-01-10 15:56:24] VERBOSE[9172][C-000000dd] pbx.c: Executing [s@macro-user-callerid:41] Set(“SIP/9991001-00000103”, “CDR(cnam)=IHF Testing”) in new stack
[2020-01-10 15:56:24] VERBOSE[9172][C-000000dd] pbx.c: Executing [s@macro-user-callerid:42] Set(“SIP/9991001-00000103”, “CDR(cnum)=999”) in new stack
[2020-01-10 15:56:24] VERBOSE[9172][C-000000dd] pbx.c: Executing [s@macro-user-callerid:43] Set(“SIP/9991001-00000103”, “CHANNEL(language)=en”) in new stack
[2020-01-10 15:56:24] VERBOSE[9172][C-000000dd] pbx.c: Executing [6475021488@from-internal:2] Set(“SIP/9991001-00000103”, “ROUTEUSER=999”) in new stack
[2020-01-10 15:56:24] VERBOSE[9172][C-000000dd] pbx.c: Executing [6475021488@from-internal:3] Set(“SIP/9991001-00000103”, “ROUTEUSER=999”) in new stack
[2020-01-10 15:56:24] VERBOSE[9172][C-000000dd] pbx.c: Executing [6475021488@from-internal:4] GotoIf(“SIP/9991001-00000103”, “1?notblind”) in new stack
[2020-01-10 15:56:24] VERBOSE[9172][C-000000dd] pbx.c: Executing [6475021488@from-internal:7] GotoIf(“SIP/9991001-00000103”, “1?restrictedroute-c81e728d9d4c2f636f067f89cc14862c,6475021488,2:outbound-allroutes,6475021488,2”) in new stack
[2020-01-10 15:56:24] VERBOSE[9172][C-000000dd] pbx.c: Executing [6475021488@restrictedroute-c81e728d9d4c2f636f067f89cc14862c:2] Gosub(“SIP/9991001-00000103”, “sub-record-check,s,1(out,6475021488,dontcare)”) in new stack
[2020-01-10 15:56:24] VERBOSE[9172][C-000000dd] pbx.c: Executing [s@sub-record-check:1] GotoIf(“SIP/9991001-00000103”, “0?initialized”) in new stack
[2020-01-10 15:56:24] VERBOSE[9172][C-000000dd] pbx.c: Executing [s@sub-record-check:2] Set(“SIP/9991001-00000103”, “__REC_STATUS=INITIALIZED”) in new stack
[2020-01-10 15:56:24] VERBOSE[9172][C-000000dd] pbx.c: Executing [s@sub-record-check:3] Set(“SIP/9991001-00000103”, “NOW=1578689784”) in new stack
[2020-01-10 15:56:24] VERBOSE[9172][C-000000dd] pbx.c: Executing [s@sub-record-check:4] Set(“SIP/9991001-00000103”, “__DAY=10”) in new stack
[2020-01-10 15:56:24] VERBOSE[9172][C-000000dd] pbx.c: Executing [s@sub-record-check:5] Set(“SIP/9991001-00000103”, “__MONTH=01”) in new stack
[2020-01-10 15:56:24] VERBOSE[9172][C-000000dd] pbx.c: Executing [s@sub-record-check:6] Set(“SIP/9991001-00000103”, “__YEAR=2020”) in new stack
[2020-01-10 15:56:24] VERBOSE[9172][C-000000dd] pbx.c: Executing [s@sub-record-check:7] Set(“SIP/9991001-00000103”, “__TIMESTR=20200110-155624”) in new stack
[2020-01-10 15:56:24] VERBOSE[9172][C-000000dd] pbx.c: Executing [s@sub-record-check:8] Set(“SIP/9991001-00000103”, “__FROMEXTEN=999”) in new stack
[2020-01-10 15:56:24] VERBOSE[9172][C-000000dd] pbx.c: Executing [s@sub-record-check:9] Set(“SIP/9991001-00000103”, “__MON_FMT=WAV”) in new stack
[2020-01-10 15:56:24] VERBOSE[9172][C-000000dd] pbx.c: Executing [s@sub-record-check:10] NoOp(“SIP/9991001-00000103”, “Recordings initialized”) in new stack
[2020-01-10 15:56:24] VERBOSE[9172][C-000000dd] pbx.c: Executing [s@sub-record-check:11] ExecIf(“SIP/9991001-00000103”, “0?Set(ARG3=dontcare)”) in new stack
[2020-01-10 15:56:24] VERBOSE[9172][C-000000dd] pbx.c: Executing [s@sub-record-check:12] Set(“SIP/9991001-00000103”, “REC_POLICY_MODE_SAVE=”) in new stack
[2020-01-10 15:56:24] VERBOSE[9172][C-000000dd] pbx.c: Executing [s@sub-record-check:13] ExecIf(“SIP/9991001-00000103”, “0?Set(REC_STATUS=NO)”) in new stack
[2020-01-10 15:56:24] VERBOSE[9172][C-000000dd] pbx.c: Executing [s@sub-record-check:14] GotoIf(“SIP/9991001-00000103”, “3?checkaction”) in new stack
[2020-01-10 15:56:24] VERBOSE[9172][C-000000dd] pbx.c: Executing [s@sub-record-check:17] GotoIf(“SIP/9991001-00000103”, “1?sub-record-check,out,1”) in new stack
[2020-01-10 15:56:24] VERBOSE[9172][C-000000dd] pbx.c: Executing [out@sub-record-check:1] NoOp(“SIP/9991001-00000103”, “Outbound Recording Check from 999 to 6475021488”) in new stack
[2020-01-10 15:56:24] VERBOSE[9172][C-000000dd] pbx.c: Executing [out@sub-record-check:2] Set(“SIP/9991001-00000103”, “RECMODE=dontcare”) in new stack
[2020-01-10 15:56:24] VERBOSE[9172][C-000000dd] pbx.c: Executing [out@sub-record-check:3] ExecIf(“SIP/9991001-00000103”, “1?Goto(routewins)”) in new stack
[2020-01-10 15:56:24] VERBOSE[9172][C-000000dd] pbx.c: Executing [out@sub-record-check:7] Gosub(“SIP/9991001-00000103”, “recordcheck,1(dontcare,out,6475021488)”) in new stack
[2020-01-10 15:56:24] VERBOSE[9172][C-000000dd] pbx.c: Executing [recordcheck@sub-record-check:1] NoOp(“SIP/9991001-00000103”, “Starting recording check against dontcare”) in new stack
[2020-01-10 15:56:24] VERBOSE[9172][C-000000dd] pbx.c: Executing [recordcheck@sub-record-check:2] Goto(“SIP/9991001-00000103”, “dontcare”) in new stack
[2020-01-10 15:56:24] VERBOSE[9172][C-000000dd] pbx.c: Executing [recordcheck@sub-record-check:3] Return(“SIP/9991001-00000103”, “”) in new stack
[2020-01-10 15:56:24] VERBOSE[9172][C-000000dd] pbx.c: Executing [out@sub-record-check:8] Return(“SIP/9991001-00000103”, “”) in new stack
[2020-01-10 15:56:24] VERBOSE[9172][C-000000dd] pbx.c: Executing [6475021488@restrictedroute-c81e728d9d4c2f636f067f89cc14862c:3] ExecIf(“SIP/9991001-00000103”, “0 ?Set(CDR(accountcode)=)”) in new stack
[2020-01-10 15:56:24] VERBOSE[9172][C-000000dd] pbx.c: Executing [6475021488@restrictedroute-c81e728d9d4c2f636f067f89cc14862c:4] Set(“SIP/9991001-00000103”, “MOHCLASS=default”) in new stack
[2020-01-10 15:56:24] VERBOSE[9172][C-000000dd] pbx.c: Executing [6475021488@restrictedroute-c81e728d9d4c2f636f067f89cc14862c:5] Set(“SIP/9991001-00000103”, “_NODEST=”) in new stack
[2020-01-10 15:56:24] VERBOSE[9172][C-000000dd] pbx.c: Executing [6475021488@restrictedroute-c81e728d9d4c2f636f067f89cc14862c:6] Macro(“SIP/9991001-00000103”, “dialout-trunk,2,6475021488,off”) in new stack
[2020-01-10 15:56:24] VERBOSE[9172][C-000000dd] pbx.c: Executing [s@macro-dialout-trunk:1] Set(“SIP/9991001-00000103”, “DIAL_TRUNK=2”) in new stack
[2020-01-10 15:56:24] VERBOSE[9172][C-000000dd] pbx.c: Executing [s@macro-dialout-trunk:2] ExecIf(“SIP/9991001-00000103”, “0?Set(DIAL_OPTIONS=Hhtr)”) in new stack
[2020-01-10 15:56:24] VERBOSE[9172][C-000000dd] pbx.c: Executing [s@macro-dialout-trunk:3] GosubIf(“SIP/9991001-00000103”, “0?sub-pincheck,s,1()”) in new stack
[2020-01-10 15:56:24] VERBOSE[9172][C-000000dd] pbx.c: Executing [s@macro-dialout-trunk:4] ExecIf(“SIP/9991001-00000103”, “0?Set(CALLERID(num)=999)”) in new stack
[2020-01-10 15:56:24] VERBOSE[9172][C-000000dd] pbx.c: Executing [s@macro-dialout-trunk:5] GotoIf(“SIP/9991001-00000103”, “0?disabletrunk,1”) in new stack
[2020-01-10 15:56:24] VERBOSE[9172][C-000000dd] pbx.c: Executing [s@macro-dialout-trunk:6] Set(“SIP/9991001-00000103”, “DIAL_NUMBER=6475021488”) in new stack
[2020-01-10 15:56:24] VERBOSE[9172][C-000000dd] pbx.c: Executing [s@macro-dialout-trunk:7] Set(“SIP/9991001-00000103”, “DIAL_TRUNK_OPTIONS=HhTtr”) in new stack
[2020-01-10 15:56:24] VERBOSE[9172][C-000000dd] pbx.c: Executing [s@macro-dialout-trunk:8] Set(“SIP/9991001-00000103”, “OUTBOUND_GROUP=OUT_2”) in new stack
[2020-01-10 15:56:24] VERBOSE[9172][C-000000dd] pbx.c: Executing [s@macro-dialout-trunk:9] Set(“SIP/9991001-00000103”, “DIAL_TRUNK_OPTIONS=T”) in new stack
[2020-01-10 15:56:24] VERBOSE[9172][C-000000dd] pbx.c: Executing [s@macro-dialout-trunk:10] GotoIf(“SIP/9991001-00000103”, “0?nomax”) in new stack
[2020-01-10 15:56:24] VERBOSE[9172][C-000000dd] pbx.c: Executing [s@macro-dialout-trunk:11] GotoIf(“SIP/9991001-00000103”, “0?chanfull”) in new stack
[2020-01-10 15:56:24] VERBOSE[9172][C-000000dd] pbx.c: Executing [s@macro-dialout-trunk:12] GotoIf(“SIP/9991001-00000103”, “0?skipoutcid”) in new stack
[2020-01-10 15:56:24] VERBOSE[9172][C-000000dd] pbx.c: Executing [s@macro-dialout-trunk:13] Macro(“SIP/9991001-00000103”, “outbound-callerid,2”) in new stack
[2020-01-10 15:56:24] VERBOSE[9172][C-000000dd] pbx.c: Executing [s@macro-outbound-callerid:1] NoOp(“SIP/9991001-00000103”, “9991001”) in new stack
[2020-01-10 15:56:24] VERBOSE[9172][C-000000dd] pbx.c: Executing [s@macro-outbound-callerid:2] NoOp(“SIP/9991001-00000103”, “”) in new stack
[2020-01-10 15:56:24] VERBOSE[9172][C-000000dd] pbx.c: Executing [s@macro-outbound-callerid:3] NoOp(“SIP/9991001-00000103”, “off”) in new stack
[2020-01-10 15:56:24] VERBOSE[9172][C-000000dd] pbx.c: Executing [s@macro-outbound-callerid:4] ExecIf(“SIP/9991001-00000103”, “0?Set(CALLERPRES(name-pres)=)”) in new stack
[2020-01-10 15:56:24] VERBOSE[9172][C-000000dd] pbx.c: Executing [s@macro-outbound-callerid:5] ExecIf(“SIP/9991001-00000103”, “0?Set(CALLERPRES(num-pres)=)”) in new stack
[2020-01-10 15:56:24] VERBOSE[9172][C-000000dd] pbx.c: Executing [s@macro-outbound-callerid:6] ExecIf(“SIP/9991001-00000103”, “0?Set(REALCALLERIDNUM=999)”) in new stack
[2020-01-10 15:56:24] VERBOSE[9172][C-000000dd] pbx.c: Executing [s@macro-outbound-callerid:7] ExecIf(“SIP/9991001-00000103”, “0?Set(AMPUSER=999)”) in new stack
[2020-01-10 15:56:24] VERBOSE[9172][C-000000dd] pbx.c: Executing [s@macro-outbound-callerid:8] GotoIf(“SIP/9991001-00000103”, “1?normcid”) in new stack
[2020-01-10 15:56:24] VERBOSE[9172][C-000000dd] pbx.c: Executing [s@macro-outbound-callerid:12] Set(“SIP/9991001-00000103”, “USEROUTCID=”) in new stack
[2020-01-10 15:56:24] VERBOSE[9172][C-000000dd] pbx.c: Executing [s@macro-outbound-callerid:13] Set(“SIP/9991001-00000103”, “EMERGENCYCID=”) in new stack
[2020-01-10 15:56:24] VERBOSE[9172][C-000000dd] pbx.c: Executing [s@macro-outbound-callerid:14] Set(“SIP/9991001-00000103”, “TRUNKOUTCID=14166863390”) in new stack
[2020-01-10 15:56:24] VERBOSE[9172][C-000000dd] pbx.c: Executing [s@macro-outbound-callerid:15] GotoIf(“SIP/9991001-00000103”, “1?trunkcid”) in new stack
[2020-01-10 15:56:24] VERBOSE[9172][C-000000dd] pbx.c: Executing [s@macro-outbound-callerid:21] ExecIf(“SIP/9991001-00000103”, “1?Set(CALLERID(all)=14166863390)”) in new stack
[2020-01-10 15:56:24] VERBOSE[9172][C-000000dd] pbx.c: Executing [s@macro-outbound-callerid:22] ExecIf(“SIP/9991001-00000103”, “0?Set(CALLERID(all)=)”) in new stack
[2020-01-10 15:56:24] VERBOSE[9172][C-000000dd] pbx.c: Executing [s@macro-outbound-callerid:23] ExecIf(“SIP/9991001-00000103”, “0?Set(CALLERID(all)=)”) in new stack
[2020-01-10 15:56:24] VERBOSE[9172][C-000000dd] pbx.c: Executing [s@macro-outbound-callerid:24] ExecIf(“SIP/9991001-00000103”, “0?Set(CALLERID(all)=9991001)”) in new stack
[2020-01-10 15:56:24] VERBOSE[9172][C-000000dd] pbx.c: Executing [s@macro-outbound-callerid:25] ExecIf(“SIP/9991001-00000103”, “0?Set(CALLERPRES(name-pres)=prohib_passed_screen)”) in new stack
[2020-01-10 15:56:24] VERBOSE[9172][C-000000dd] pbx.c: Executing [s@macro-outbound-callerid:26] ExecIf(“SIP/9991001-00000103”, “0?Set(CALLERPRES(num-pres)=prohib_passed_screen)”) in new stack
[2020-01-10 15:56:24] VERBOSE[9172][C-000000dd] pbx.c: Executing [s@macro-outbound-callerid:27] Set(“SIP/9991001-00000103”, “CDR(outbound_cnum)=14166863390”) in new stack
[2020-01-10 15:56:25] VERBOSE[9172][C-000000dd] pbx.c: Executing [s@macro-outbound-callerid:28] Set(“SIP/9991001-00000103”, “CDR(outbound_cnam)=”) in new stack
[2020-01-10 15:56:25] VERBOSE[9172][C-000000dd] pbx.c: Executing [s@macro-dialout-trunk:14] GosubIf(“SIP/9991001-00000103”, “0?sub-flp-2,s,1()”) in new stack
[2020-01-10 15:56:25] VERBOSE[9172][C-000000dd] pbx.c: Executing [s@macro-dialout-trunk:15] Set(“SIP/9991001-00000103”, “OUTNUM=6475021488”) in new stack
[2020-01-10 15:56:25] VERBOSE[9172][C-000000dd] pbx.c: Executing [s@macro-dialout-trunk:16] Set(“SIP/9991001-00000103”, “custom=SIP/LUCID-EYET-Main”) in new stack
[2020-01-10 15:56:25] VERBOSE[9172][C-000000dd] pbx.c: Executing [s@macro-dialout-trunk:17] ExecIf(“SIP/9991001-00000103”, “0?Set(DIAL_TRUNK_OPTIONS=M(setmusic^default)T)”) in new stack
[2020-01-10 15:56:25] VERBOSE[9172][C-000000dd] pbx.c: Executing [s@macro-dialout-trunk:18] ExecIf(“SIP/9991001-00000103”, “0?Set(DIAL_TRUNK_OPTIONS=TM(confirm))”) in new stack
[2020-01-10 15:56:25] VERBOSE[9172][C-000000dd] pbx.c: Executing [s@macro-dialout-trunk:19] Macro(“SIP/9991001-00000103”, “dialout-trunk-predial-hook,”) in new stack
[2020-01-10 15:56:25] VERBOSE[9172][C-000000dd] pbx.c: Executing [s@macro-dialout-trunk-predial-hook:1] MacroExit(“SIP/9991001-00000103”, “”) in new stack
[2020-01-10 15:56:25] VERBOSE[9172][C-000000dd] pbx.c: Executing [s@macro-dialout-trunk:20] GotoIf(“SIP/9991001-00000103”, “0?skipcrm”) in new stack
[2020-01-10 15:56:25] VERBOSE[9172][C-000000dd] pbx.c: Executing [s@macro-dialout-trunk:21] Set(“SIP/9991001-00000103”, “__CRM_DIRECTION=OUTBOUND”) in new stack
[2020-01-10 15:56:25] VERBOSE[9172][C-000000dd] pbx.c: Executing [s@macro-dialout-trunk:22] Set(“SIP/9991001-00000103”, “__CRM_DESTINATION=6475021488”) in new stack
[2020-01-10 15:56:25] VERBOSE[9172][C-000000dd] pbx.c: Executing [s@macro-dialout-trunk:23] Set(“SIP/9991001-00000103”, “__CRM_SOURCE=999”) in new stack
[2020-01-10 15:56:25] VERBOSE[9172][C-000000dd] pbx.c: Executing [s@macro-dialout-trunk:24] AGI(“SIP/9991001-00000103”, “agi://127.0.0.1/sangomacrm.agi”) in new stack
[2020-01-10 15:56:25] VERBOSE[9172][C-000000dd] res_agi.c: <SIP/9991001-00000103>AGI Script agi://127.0.0.1/sangomacrm.agi completed, returning 0
[2020-01-10 15:56:25] VERBOSE[9172][C-000000dd] pbx.c: Executing [s@macro-dialout-trunk:25] Set(“SIP/9991001-00000103”, “CHANNEL(hangup_handler_push)=crm-hangup,s,1”) in new stack
[2020-01-10 15:56:25] VERBOSE[9172][C-000000dd] pbx.c: Executing [s@macro-dialout-trunk:26] NoOp(“SIP/9991001-00000103”, “CRM Finished”) in new stack
[2020-01-10 15:56:25] VERBOSE[9172][C-000000dd] pbx.c: Executing [s@macro-dialout-trunk:27] GotoIf(“SIP/9991001-00000103”, “0?bypass,1”) in new stack
[2020-01-10 15:56:25] VERBOSE[9172][C-000000dd] pbx.c: Executing [s@macro-dialout-trunk:28] ExecIf(“SIP/9991001-00000103”, “1?Set(CONNECTEDLINE(num,i)=6475021488)”) in new stack
[2020-01-10 15:56:25] VERBOSE[9172][C-000000dd] pbx.c: Executing [s@macro-dialout-trunk:29] ExecIf(“SIP/9991001-00000103”, “1?Set(CONNECTEDLINE(name,i)=CID:14166863390)”) in new stack
[2020-01-10 15:56:25] VERBOSE[9172][C-000000dd] pbx.c: Executing [s@macro-dialout-trunk:30] ExecIf(“SIP/9991001-00000103”, “0?Set(CONNECTEDLINE(name,i)=CID:(Hidden)14166863390)”) in new stack
[2020-01-10 15:56:25] VERBOSE[9172][C-000000dd] pbx.c: Executing [s@macro-dialout-trunk:31] GotoIf(“SIP/9991001-00000103”, “0?customtrunk”) in new stack
[2020-01-10 15:56:25] VERBOSE[9172][C-000000dd] pbx.c: Executing [s@macro-dialout-trunk:32] ExecIf(“SIP/9991001-00000103”, “0?Set(DIAL_TRUNK_OPTIONS=)”) in new stack
[2020-01-10 15:56:25] VERBOSE[9172][C-000000dd] pbx.c: Executing [s@macro-dialout-trunk:33] Dial(“SIP/9991001-00000103”, “SIP/LUCID-EYET-Main/6475021488,300,Tb(func-apply-sipheaders^s^1,(2))”) in new stack
[2020-01-10 15:56:26] VERBOSE[9172][C-000000dd] app_dial.c: SIP/LUCID-EYET-Main-00000104 is making progress passing it to SIP/9991001-00000103
[2020-01-10 15:56:42] VERBOSE[9172][C-000000dd] app_macro.c: Spawn extension (macro-dialout-trunk, s, 33) exited non-zero on ‘SIP/9991001-00000103’ in macro ‘dialout-trunk’
[2020-01-10 15:56:42] VERBOSE[9172][C-000000dd] pbx.c: Spawn extension (restrictedroute-c81e728d9d4c2f636f067f89cc14862c, 6475021488, 6) exited non-zero on ‘SIP/9991001-00000103’
[2020-01-10 15:56:42] VERBOSE[9172][C-000000dd] pbx.c: Executing [h@restrictedroute-c81e728d9d4c2f636f067f89cc14862c:1] Hangup(“SIP/9991001-00000103”, “”) in new stack
[2020-01-10 15:56:42] VERBOSE[9172][C-000000dd] pbx.c: Spawn extension (restrictedroute-c81e728d9d4c2f636f067f89cc14862c, h, 1) exited non-zero on ‘SIP/9991001-00000103’
[2020-01-10 15:56:42] VERBOSE[9172][C-000000dd] app_stack.c: SIP/9991001-00000103 Internal Gosub(crm-hangup,s,1) start
[2020-01-10 15:56:42] VERBOSE[9172][C-000000dd] pbx.c: Executing [s@crm-hangup:1] NoOp(“SIP/9991001-00000103”, “Sending Hangup to CRM”) in new stack
[2020-01-10 15:56:42] VERBOSE[9172][C-000000dd] pbx.c: Executing [s@crm-hangup:2] NoOp(“SIP/9991001-00000103”, “HANGUP CAUSE: 16”) in new stack
[2020-01-10 15:56:42] VERBOSE[9172][C-000000dd] pbx.c: Executing [s@crm-hangup:3] ExecIf(“SIP/9991001-00000103”, “0?Set(__CRM_VOICEMAIL=)”) in new stack
[2020-01-10 15:56:42] VERBOSE[9172][C-000000dd] pbx.c: Executing [s@crm-hangup:4] NoOp(“SIP/9991001-00000103”, “MASTER CHANNEL: 1578689784.310 = 1578689784.310”) in new stack
[2020-01-10 15:56:42] VERBOSE[9172][C-000000dd] pbx.c: Executing [s@crm-hangup:5] GotoIf(“SIP/9991001-00000103”, “0?return”) in new stack
[2020-01-10 15:56:42] VERBOSE[9172][C-000000dd] pbx.c: Executing [s@crm-hangup:6] Set(“SIP/9991001-00000103”, “__CRM_HANGUP=1”) in new stack
[2020-01-10 15:56:42] VERBOSE[9172][C-000000dd] pbx.c: Executing [s@crm-hangup:7] AGI(“SIP/9991001-00000103”, “agi://127.0.0.1/sangomacrm.agi”) in new stack
[2020-01-10 15:56:42] VERBOSE[9172][C-000000dd] res_agi.c: <SIP/9991001-00000103>AGI Script agi://127.0.0.1/sangomacrm.agi completed, returning 0
[2020-01-10 15:56:42] VERBOSE[9172][C-000000dd] pbx.c: Executing [s@crm-hangup:8] Return(“SIP/9991001-00000103”, “”) in new stack
[2020-01-10 15:56:42] VERBOSE[9172][C-000000dd] app_stack.c: Spawn extension (restrictedroute-c81e728d9d4c2f636f067f89cc14862c, h, 1) exited non-zero on ‘SIP/9991001-00000103’
[2020-01-10 15:56:42] VERBOSE[9172][C-000000dd] app_stack.c: SIP/9991001-00000103 Internal Gosub(crm-hangup,s,1) complete GOSUB_RETVAL=
[2020-01-10 15:56:43] NOTICE[2649] chan_sip.c: Received SIP subscribe for peer without mailbox: 9991001
--------tcpdump-----
OPTIONS sip:9991001@76.64.106.111:5060 SIP/2.0
Via: SIP/2.0/UDP 198.55.54.14:5160;branch=z9hG4bK622f3fea
Max-Forwards: 70
From: “Unknown” sip:Unknown@198.55.54.14:5160;tag=as4b77e1a4
To: sip:9991001@76.64.106.111:5060
Contact: sip:Unknown@198.55.54.14:5160
Call-ID: 1718a478387794ef0ba935b24e9ca023@198.55.54.14:5160
CSeq: 102 OPTIONS
User-Agent: FPBX-15.0.16.38(16.6.2)
Date: Fri, 10 Jan 2020 20:33:25 GMT
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE
Supported: replaces, timer
Content-Length: 0
SIP/2.0 200 OK
Via: SIP/2.0/UDP 198.55.54.14:5160;branch=z9hG4bK622f3fea
From: “Unknown” sip:Unknown@198.55.54.14:5160;tag=as4b77e1a4
To: sip:9991001@76.64.106.111:5060;tag=1843662402
Call-ID: 1718a478387794ef0ba935b24e9ca023@198.55.54.14:5160
CSeq: 102 OPTIONS
Contact: sip:9991001@76.64.106.111:5060
Supported: 100rel, replaces, timer
User-Agent: Fanvil X7 1.12.5.1 0c383e30303f
Allow: INVITE, ACK, OPTIONS, BYE, CANCEL, REFER, NOTIFY, INFO, PRACK, UPDATE, MESSAGE
Accept: application/sdp, message/sipfrag, application/dtmf-relay
Content-Length: 0
SIP/2.0 200 OK
Via: SIP/2.0/UDP 76.64.106.111:5060;branch=z9hG4bK3053341852565233749;received=76.64.106.111;rport=5060
From: 999-test sip:9991001@pbx14.voip.ithandsfree.net:5160;tag=3658326676
To: sip:6475021488@pbx14.voip.ithandsfree.net:5160;tag=as0b266560
Call-ID: 308704443437387-585162215520909@76.64.106.111
CSeq: 2 INVITE
Server: FPBX-15.0.16.38(16.6.2)
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE
Supported: replaces, timer
Contact: sip:6475021488@198.55.54.14:5160
P-Asserted-Identity: “CID:14166863390” sip:6475021488@pbx14.voip.ithandsfree.net
Content-Type: application/sdp
Content-Length: 440
v=0
o=root 1687146843 1687146843 IN IP4 198.55.54.14
s=Asterisk PBX 16.6.2
c=IN IP4 198.55.54.14
b=CT:384
t=0 0
m=audio 16724 RTP/AVP 0 8 102 9 101
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:102 G726-32/8000
a=rtpmap:9 G722/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=maxptime:150
a=sendrecv
m=video 12512 RTP/AVP 117
a=rtpmap:117 H264/90000
a=fmtp:117 max-br=2000;profile-level-id=42801E
a=sendrecv
ACK sip:6475021488@198.55.54.14:5160 SIP/2.0
Via: SIP/2.0/UDP 76.64.106.111:5060;branch=z9hG4bK494584896910519574
From: 999-test sip:9991001@pbx14.voip.ithandsfree.net:5160;tag=3658326676
To: sip:6475021488@pbx14.voip.ithandsfree.net:5160;tag=as0b266560
Call-ID: 308704443437387-585162215520909@76.64.106.111
CSeq: 2 ACK
Contact: sip:9991001@76.64.106.111:5060
Max-Forwards: 70
User-Agent: Fanvil X7 1.12.5.1 0c383e30303f
Content-Length: 0
…BYE sip:6475021488@198.55.54.14:5160 SIP/2.0
Via: SIP/2.0/UDP 76.64.106.111:5060;branch=z9hG4bK20904541494261638;rport
From: 999-test sip:9991001@pbx14.voip.ithandsfree.net:5160;tag=3658326676
To: sip:6475021488@pbx14.voip.ithandsfree.net:5160;tag=as0b266560
Call-ID: 308704443437387-585162215520909@76.64.106.111
CSeq: 3 BYE
Contact: sip:9991001@76.64.106.111:5060
Max-Forwards: 70
User-Agent: Fanvil X7 1.12.5.1 0c383e30303f
Content-Length: 0
SIP/2.0 200 OK
Via: SIP/2.0/UDP 76.64.106.111:5060;branch=z9hG4bK20904541494261638;received=76.64.106.111;rport=5060
From: 999-test sip:9991001@pbx14.voip.ithandsfree.net:5160;tag=3658326676
To: sip:6475021488@pbx14.voip.ithandsfree.net:5160;tag=as0b266560
Call-ID: 308704443437387-585162215520909@76.64.106.111
CSeq: 3 BYE
Server: FPBX-15.0.16.38(16.6.2)
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE
Supported: replaces, timer
Content-Length: 0
Hey @miken32 ,
Wanted to comment on this briefly. The reason nodejs was chosen way back in the day was because we needed a non-blocking daemon to service real time events for UCP (which was contained in the ucpnode module). At the time PHP was not performant in real-time non blocking performance areas (I dont think it really fits that well even today, you can’t make mysql or file operations in PHP that aren’t blocking and you can’t make non-blocking http requests nicely without a library like guzzle and guzzle only has async on php 5.6+).
Furthermore. When it comes to pm2 (which is a nodejs process manager). At the time there were no good PHP process managers that supported PHP 5.3 (there are some good ones for php 7.2+ though), there still aren’t because PHP 5.3 is dead. But that’s what FreePBX 13 supports so you end up stuck in a way.
Using nodejs in the first place was never a performance concern in regards to PHP. It was allowing daemons to be written in a language that is non-blocking. As I said before, PHP is a blocking language it was never written as non-blocking in mind (and still isnt even in 8). Though I don’t work on FreePBX anymore I doubt it would move entirely to NodeJS, that was never the goal and never even a thought. NodeJS was just for daemons that need to be non-blocking (Like Zulu, UCP and pm2 (which manages some php processes as well)).
NodeJS was also used in FreePBX 13 for many things. But we wanted to give our work back to the community. So we released pm2 in 13+ and released ucpnode inside of ucp in 14, that’s probably where some of your headaches come in and I’m sorry for that :(. Unforutnately there was no way to write a performant realtime UCP application without nodejs (yes it could have probably been done in python but you are back at the original problem, another language that isn’t FreePBX’s base… so does that really solve anything? Furthermore CentOS is still on some Python 2.x version, you can’t load in Python 3.x without causing all sorts of headaches (because CentOS 5-7 uses Python in yum) so the code, if written in Python would have to have been done in Python 2)). FreePBX needed a centralized process manager.
Additionally, as I talked about in a previous blog. There is another nodejs process in Core (which is extremely lightweight) that launches the older FreePBX AGIs through a FastAGI proxy (this is optional but gives FreePBX a huge performance boost). There’s a thread on twitter where I explained this at length for @mattf and someone from Issabel if you want to take a look.
Anyways hope that helps clear that up (and remember I’m just an outsider)
Finally. It’s worth noting that the Sangoma team in place now is highly skilled in NodeJS, they use and maintain one of their most active repositories on github which is the NodeJS ARI SDK.
And if you didn’t know one of @mattf’s previous roles at Sangoma was working on the product Respooke which was also written in NodeJS.
I don’t want this to sound like a round of excuses, just thought perhaps the context of why things were done the way they were done would be helpful. No project is ever going to get 100% of things right 100% of the time but it’s good for the community to know why things were done and at the time we (I?) should have been more transparent about why NodeJS was chosen.
Also wanted to give another shoutout to @miken32 who was (is?) the most active outside contributor in terms of code to FreePBX. You are one of the reasons that makes this community so great!
That depends on the phone supporting that state for BLF colors.
I don’t have a Grandstream handy but Yealink does not support this.
Yealink phones have 5 BLF color modes (0-4) and none of them support a change to the state you are looking at.
Page 487 of their T4/T5 Admin guide. It goes on fro a few pages.
We have a FreePBX 14 system running Asterisk 13 that does not show S505 (or S305) models in Endpoint Manager, even after reinstalling EPM.
Is there a way to get them to show up?