Be careful prior to updating Elastix 2.4 going forward
-
The other day I decided to update the Elastix 2.4 instance I have rented with NTG. Figured I would catch the system up on the various Linux exploit patches.
Oops.
Apparently the Elastix team has pushed a lot of changes down since they released 2.5. I have been so used to the 2.4 system updates being completely stable, that I never bothered to check prior to running yum.
Yum will now push FreePBX version to 2.11. While this is awesome, it completely hosed my PBX because it broke shit too.
There were significant changes between FreePBX 2.8 and 2.11
Immediately, all users voicemail was turned off.
Also, There was a table missing in the MySQL database (parkinglots). I had an Elastix generated backup and that contained the mysqldump with the needed data, but this would have been way past a novice.
Finally, I used custom parking lots and that is all completely hosed now. Been working on that the last hour or so.
-
Apparently Paging is hosed too..
/sigh been beating on this for a couple hours now.
Here is what it looks like on an unupdated 2.4 system.
-- Executing [60@from-internal:12] Page("SIP/5199-00000a51", "LOCAL/PAGE5198@ext-paging") in new stack -- Called PAGE5198@ext-paging -- <SIP/5199-00000a51> Playing 'beep.gsm' (language 'en') -- Executing [PAGE5198@ext-paging:1] GotoIf("Local/PAGE5198@ext-paging-0000002f;2", "0?skipself") in new stack -- Executing [PAGE5198@ext-paging:2] ChanIsAvail("Local/PAGE5198@ext-paging-0000002f;2", "SIP/5198,s") in new stack == Using SIP RTP TOS bits 184 == Using SIP RTP CoS mark 5 -- Executing [PAGE5198@ext-paging:3] GotoIf("Local/PAGE5198@ext-paging-0000002f;2", "0?skipself") in new stack -- Executing [PAGE5198@ext-paging:4] GotoIf("Local/PAGE5198@ext-paging-0000002f;2", "0?skipself") in new stack -- Executing [PAGE5198@ext-paging:5] Macro("Local/PAGE5198@ext-paging-0000002f;2", "autoanswer,5198") in new stack -- Executing [s@macro-autoanswer:1] Set("Local/PAGE5198@ext-paging-0000002f;2", "DIAL=SIP/5198") in new stack -- Executing [s@macro-autoanswer:2] ExecIf("Local/PAGE5198@ext-paging-0000002f;2", "0?Set(DIAL=DAHDI/5198)") in new stack -- Executing [s@macro-autoanswer:3] GotoIf("Local/PAGE5198@ext-paging-0000002f;2", "0?macro") in new stack -- Executing [s@macro-autoanswer:4] Set("Local/PAGE5198@ext-paging-0000002f;2", "phone=snomPA1/8.7.3.25") in new stack -- Executing [s@macro-autoanswer:5] ExecIf("Local/PAGE5198@ext-paging-0000002f;2", "0?Set(CALLINFO=Call-Info: <sip:broadworks. net>;answer-after=0)") in new stack -- Executing [s@macro-autoanswer:6] ExecIf("Local/PAGE5198@ext-paging-0000002f;2", "1?SipAddHeader(Alert-Info: Ring Answer)") in new stack -- Executing [s@macro-autoanswer:7] ExecIf("Local/PAGE5198@ext-paging-0000002f;2", "1?SipAddHeader(Call-Info: <uri>;answer-aft er=0)") in new stack -- Executing [s@macro-autoanswer:8] ExecIf("Local/PAGE5198@ext-paging-0000002f;2", "1?Set(__SIP_URI_OPTIONS=intercom=true)") i n new stack -- Executing [PAGE5198@ext-paging:6] Dial("Local/PAGE5198@ext-paging-0000002f;2", "SIP/5198,5,A(beep)") in new stack == Using SIP RTP TOS bits 184 == Using SIP RTP CoS mark 5 -- Called SIP/5198 > 0xb634f8b0 -- Probation passed - setting RTP source address to 75.132.206.53:11800 -- SIP/5198-00000a53 is ringing -- Local/PAGE5198@ext-paging-0000002f;1 is ringing > 0xb216cf0 -- Probation passed - setting RTP source address to 10.202.1.39:49158 -- SIP/5198-00000a53 answered Local/PAGE5198@ext-paging-0000002f;2 -- <SIP/5198-00000a53> Playing 'beep.gsm' (language 'en') > 0xb216cf0 -- Probation passed - setting RTP source address to 10.202.1.39:49158 -- Local/PAGE5198@ext-paging-0000002f;1 answered == Spawn extension (ext-paging, PAGE5198, 6) exited non-zero on 'Local/PAGE5198@ext-paging-0000002f;2' == Spawn extension (from-internal, 60, 12) exited non-zero on 'SIP/5199-00000a51' -- Executing [h@from-internal:1] Macro("SIP/5199-00000a51", "hangupcall") in new stack -- Executing [s@macro-hangupcall:1] GotoIf("SIP/5199-00000a51", "1?endmixmoncheck") in new stack -- Goto (macro-hangupcall,s,9) -- Executing [s@macro-hangupcall:9] NoOp("SIP/5199-00000a51", "End of MIXMON check") in new stack -- Executing [s@macro-hangupcall:10] GotoIf("SIP/5199-00000a51", "1?nomeetmemon") in new stack -- Goto (macro-hangupcall,s,28) -- Executing [s@macro-hangupcall:28] NoOp("SIP/5199-00000a51", "End of MEETME check") in new stack -- Executing [s@macro-hangupcall:29] GotoIf("SIP/5199-00000a51", "1?noautomon") in new stack -- Goto (macro-hangupcall,s,34) -- Executing [s@macro-hangupcall:34] NoOp("SIP/5199-00000a51", "TOUCH_MONITOR_OUTPUT=") in new stack -- Executing [s@macro-hangupcall:35] GotoIf("SIP/5199-00000a51", "1?noautomon2") in new stack -- Goto (macro-hangupcall,s,41) -- Executing [s@macro-hangupcall:41] NoOp("SIP/5199-00000a51", "MONITOR_FILENAME=") in new stack -- Executing [s@macro-hangupcall:42] GotoIf("SIP/5199-00000a51", "1?skiprg") in new stack -- Goto (macro-hangupcall,s,45) -- Executing [s@macro-hangupcall:45] GotoIf("SIP/5199-00000a51", "1?skipblkvm") in new stack -- Goto (macro-hangupcall,s,48) -- Executing [s@macro-hangupcall:48] GotoIf("SIP/5199-00000a51", "1?theend") in new stack -- Goto (macro-hangupcall,s,50) -- Executing [s@macro-hangupcall:50] AGI("SIP/5199-00000a51", "hangup.agi") in new stack -- Launched AGI Script /var/lib/asterisk/agi-bin/hangup.agi -- <SIP/5199-00000a51>AGI Script hangup.agi completed, returning 0 -- Executing [s@macro-hangupcall:51] Hangup("SIP/5199-00000a51", "") in new stack == Spawn extension (macro-hangupcall, s, 51) exited non-zero on 'SIP/5199-00000a51' in macro 'hangupcall' == Spawn extension (from-internal, h, 1) exited non-zero on 'SIP/5199-00000a51' pbx*CLI>
Here is the disaster on the 2.4 system that I updated..
-- Executing [621@app-pagegroups:10] AGI("SIP/5299-00000000", "page.agi") in new stack -- Launched AGI Script /var/lib/asterisk/agi-bin/page.agi -- <SIP/5299-00000000>AGI Script page.agi completed, returning 0 -- Executing [621@app-pagegroups:11] MeetMe("SIP/5299-00000000", "1425268084247,dqwxAG,,") in new stack [2015-03-01 21:48:05] WARNING[26195][C-00000000]: app_meetme.c:1296 build_conf: Unable to open DAHDI pseudo device == Spawn extension (app-pagegroups, 621, 11) exited non-zero on 'SIP/5299-00000000' -- Executing [h@app-pagegroups:1] ExecIf("SIP/5299-00000000", "1?Set(DEVICE_STATE(Custom:PAGE621)=NOT_INUSE)") in new stack -- Executing [s@app-page-stream:1] Wait("Local/s@app-page-stream-00000000;2", "1") in new stack -- Executing [s@app-page-stream:1] Wait("Local/s@app-page-stream-00000002;2", "1") in new stack -- Executing [PAGE5210@app-paging:1] Macro("Local/PAGE5210@app-paging-00000001;2", "autoanswer,5210") in new stack -- Executing [s@macro-autoanswer:1] Set("Local/PAGE5210@app-paging-00000001;2", "DIAL=SIP/5210") in new stack -- Executing [s@macro-autoanswer:2] ExecIf("Local/PAGE5210@app-paging-00000001;2", "0?Set(DIAL=DAHDI/5210)") in new stack -- Executing [s@macro-autoanswer:3] GotoIf("Local/PAGE5210@app-paging-00000001;2", "0?macro") in new stack [2015-03-01 21:48:05] WARNING[26205][C-00000002]: chan_sip.c:22130 function_sippeer: SIPPEER(): usage of ':' to separate arguments is deprecated. Please use ',' instead. -- Executing [s@macro-autoanswer:4] Set("Local/PAGE5210@app-paging-00000001;2", "phone=") in new stack -- Executing [s@macro-autoanswer:5] ExecIf("Local/PAGE5210@app-paging-00000001;2", "0?Set(CALLINFO=Call-Info: <sip:broadworks. net>;answer-after=0)") in new stack -- Executing [s@macro-autoanswer:6] ExecIf("Local/PAGE5210@app-paging-00000001;2", "0?Set(ALERTINFO=Alert-Info: Intercom)") in new stack -- Executing [s@macro-autoanswer:7] ExecIf("Local/PAGE5210@app-paging-00000001;2", "0?Set(ALERTINFO=Alert-Info: info=Auto Answ er)") in new stack -- Executing [s@macro-autoanswer:8] ExecIf("Local/PAGE5210@app-paging-00000001;2", "0?Set(ALERTINFO=Alert-Info: ring-answer)") in new stack -- Executing [s@macro-autoanswer:9] ExecIf("Local/PAGE5210@app-paging-00000001;2", "1?SipAddHeader(Alert-Info: Ring Answer)") in new stack -- Executing [s@macro-autoanswer:10] ExecIf("Local/PAGE5210@app-paging-00000001;2", "1?SipAddHeader(Call-Info: <uri>;answer-af ter=0)") in new stack -- Executing [s@macro-autoanswer:11] ExecIf("Local/PAGE5210@app-paging-00000001;2", "1?Set(__SIP_URI_OPTIONS=intercom=true)") in new stack -- Executing [PAGE5210@app-paging:2] Dial("Local/PAGE5210@app-paging-00000001;2", "SIP/5210,5,A()") in new stack == Using SIP RTP TOS bits 184 == Using SIP RTP CoS mark 5 -- Called SIP/5210 -- SIP/5210-00000001 is ringing -- SIP/5210-00000001 answered Local/PAGE5210@app-paging-00000001;2 > Channel Local/PAGE5210@app-paging-00000001;1 was answered. > Launching MeetMe(1425268084247,1dqsxm,,) on Local/PAGE5210@app-paging-00000001;1 [2015-03-01 21:48:05] WARNING[26207]: app_meetme.c:1296 build_conf: Unable to open DAHDI pseudo device == Spawn extension (app-paging, PAGE5210, 2) exited non-zero on 'Local/PAGE5210@app-paging-00000001;2' -- Executing [s@app-page-stream:2] Answer("Local/s@app-page-stream-00000000;2", "") in new stack > Channel Local/s@app-page-stream-00000000;1 was answered. > Launching Wait(5) on Local/s@app-page-stream-00000000;1 -- Executing [s@app-page-stream:2] Answer("Local/s@app-page-stream-00000002;2", "") in new stack > Channel Local/s@app-page-stream-00000002;1 was answered. > Launching Playback(beep) on Local/s@app-page-stream-00000002;1 -- <Local/s@app-page-stream-00000002;1> Playing 'beep.gsm' (language 'en') -- Executing [s@app-page-stream:3] MeetMe("Local/s@app-page-stream-00000002;2", "1425268084247,xq,,") in new stack == Parsing '/etc/asterisk/meetme.conf': Found == Parsing '/etc/asterisk/meetme_additional.conf': Found == Spawn extension (app-page-stream, s, 3) exited non-zero on 'Local/s@app-page-stream-00000002;2' -- Executing [s@app-page-stream:3] MeetMe("Local/s@app-page-stream-00000000;2", "1425268084247,xqA,,") in new stack == Parsing '/etc/asterisk/meetme.conf': Found == Parsing '/etc/asterisk/meetme_additional.conf': Found == Spawn extension (app-page-stream, s, 3) exited non-zero on 'Local/s@app-page-stream-00000000;2'
-
Yup, completely hosed. it upgraded to 2.5... That means there is no easy way to install 2.4 and update it securely anymore. You have to do it all piecemeal.
[root@cloud-server-04 ~]# rpm -qa | grep -i freepbx freePBX-2.11.0-19 [root@cloud-server-04 ~]# rpm -qa | grep elastix elastix-addons-2.5.0-1 elastix-extras-2.5.0-1 elastix-security-2.5.0-1 elastix-2.5.0-1 redhat-logos-4.9.99-11elastix elastix-system-2.5.0-1 elastix-email_admin-2.5.0-1 elastix-pbx-2.5.0-1 elastix-firstboot-2.5.0-1 elastix-fax-2.5.0-1 elastix-im-2.5.0-1 elastix-my_extension-2.5.0-1 elastix-agenda-2.5.0-1 elastix-endpointconfig2-2.5.0-1 elastix-portknock-0.0.1-0 elastix-framework-2.5.0-2 elastix-reports-2.5.0-1 [root@cloud-server-04 ~]#
-
My fault for not getting a VM level backup taken.
Again, just something I had come to not expect as a need because 2.4 updated for years. I did not even think about the possibility that YUM would update a system form 2.4 to 2.5.
-
Just seen a nice post on the Elastix forums. Someone went through the trouble to manually compare a 2.4 install and list the updates needed.
http://forum.elastix.org/viewtopic.php?f=3&t=130440
I think I'll be testing this out.