I have been working on setting up a complete phone system for my company for about a month now. This is my first time working with VOIP ever. All of our phones are Grandstream GXP-2100 and the PBX is FreePBX 2.11, Asterisk 11, and Centos 6.4. Everything is working wonderfully, except the commercial endpoint manager module. Two days ago it was working just fine and I was able to configure my phones. But after adding a speed dial key to the template, i rebooted all the phones and their configurations were completely off. It turned our that when I rebuild the config files, MAC.cfg would look correct but cfgMAC would be all jumbled up.
Also I forgot to mention, I have tried uninstalling and re-installing the Endpoint Manager module with no success. Plus I have done two additional fresh installs with no success.
I’ve run across the same issue with a GXP-2200. Server logs state that the cfg file gets read by the phone on startup, but the configuration doesn’t seem to take.
This is running EPM Version 2.11.0.1.18
Here is what the phone logs to the syslog:
Nov 27 17:51:54 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] ConfigManager::loadFunctionKeys: set new subscription indexes
Nov 27 17:51:54 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] ConfigManager::load: load event list URI 0: 1
Nov 27 17:51:54 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] ConfigManager::load: load dial plan 0: { x+ | +x+ | x+ | xxx+ }
Nov 27 17:51:54 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] DialPlanSeg::compileRule: DialPlan compile [0-9][0-9][#]$
Nov 27 17:51:54 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] DialPlanSeg::compileRule: DialPlan compile +[0-9][0-9][#]$
Nov 27 17:51:54 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] DialPlanSeg::compileRule: DialPlan compile *[0-9][0-9][#]$
Nov 27 17:51:54 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] DialPlanSeg::compileRule: DialPlan compile *[0-9][0-9]*[0-9][0-9][#]$
Nov 27 17:51:54 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] ConfigManager::load: load dial plan 1: { x+ | +x+ | x+ | xxx+ }
Nov 27 17:51:54 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] DialPlanSeg::compileRule: DialPlan compile [0-9][0-9][#]$
Nov 27 17:51:54 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] DialPlanSeg::compileRule: DialPlan compile +[0-9][0-9][#]$
Nov 27 17:51:54 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] DialPlanSeg::compileRule: DialPlan compile *[0-9][0-9][#]$
Nov 27 17:51:54 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] DialPlanSeg::compileRule: DialPlan compile *[0-9][0-9]*[0-9][0-9][#]$
Nov 27 17:51:54 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] ConfigManager::load: load dial plan 2: { x+ | +x+ | x+ | xxx+ }
Nov 27 17:51:54 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] DialPlanSeg::compileRule: DialPlan compile [0-9][0-9][#]$
Nov 27 17:51:54 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] DialPlanSeg::compileRule: DialPlan compile +[0-9][0-9][#]$
Nov 27 17:51:54 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] DialPlanSeg::compileRule: DialPlan compile *[0-9][0-9][#]$
Nov 27 17:51:54 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] DialPlanSeg::compileRule: DialPlan compile *[0-9][0-9]*[0-9][0-9][#]$
Nov 27 17:51:54 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] ConfigManager::load: load dial plan 3: { x+ | +x+ | x+ | xxx+ }
Nov 27 17:51:54 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] DialPlanSeg::compileRule: DialPlan compile [0-9][0-9][#]$
Nov 27 17:51:54 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] DialPlanSeg::compileRule: DialPlan compile +[0-9][0-9][#]$
Nov 27 17:51:54 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] DialPlanSeg::compileRule: DialPlan compile *[0-9][0-9][#]$
Nov 27 17:51:54 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] DialPlanSeg::compileRule: DialPlan compile *[0-9][0-9]*[0-9][0-9][#]$
Nov 27 17:51:54 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] ConfigManager::load: load dial plan 4: { x+ | +x+ | x+ | xxx+ }
Nov 27 17:51:54 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] DialPlanSeg::compileRule: DialPlan compile [0-9][0-9][#]$
Nov 27 17:51:54 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] DialPlanSeg::compileRule: DialPlan compile +[0-9][0-9][#]$
Nov 27 17:51:54 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] DialPlanSeg::compileRule: DialPlan compile *[0-9][0-9][#]$
Nov 27 17:51:54 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] DialPlanSeg::compileRule: DialPlan compile *[0-9][0-9]*[0-9][0-9][#]$
Nov 27 17:51:54 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] ConfigManager::load: load dial plan 5: { x+ | +x+ | x+ | xxx+ }
Nov 27 17:51:54 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] DialPlanSeg::compileRule: DialPlan compile [0-9][0-9][#]$
Nov 27 17:51:54 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] DialPlanSeg::compileRule: DialPlan compile +[0-9][0-9][#]$
Nov 27 17:51:54 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] DialPlanSeg::compileRule: DialPlan compile *[0-9][0-9][#]$
Nov 27 17:51:54 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] DialPlanSeg::compileRule: DialPlan compile *[0-9][0-9]*[0-9][0-9][#]$
Nov 27 17:51:54 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] ConfigManager::load: load FXO dial plan: { x+ | +x+ | x+ | xxx+ }
Nov 27 17:51:54 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] DialPlanSeg::compileRule: DialPlan compile [0-9][0-9][#]$
Nov 27 17:51:54 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] DialPlanSeg::compileRule: DialPlan compile +[0-9][0-9][#]$
Nov 27 17:51:54 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] DialPlanSeg::compileRule: DialPlan compile *[0-9][0-9][#]$
Nov 27 17:51:54 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] DialPlanSeg::compileRule: DialPlan compile *[0-9][0-9]*[0-9][0-9][#]$
Nov 27 17:51:54 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] GXP2200 Program starting
Nov 27 17:51:54 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] GXP2200: 1.0.3.16
Nov 27 17:51:54 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] GXP2200: 2013-07-02 10:02
Nov 27 17:51:54 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] System uptime: 45
Nov 27 17:51:54 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] System memory: 368242688/148856832/0/5324800
Nov 27 17:51:54 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] GSDSP::init: Start DSP initialization
Nov 27 17:51:54 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] GSDSP::init: DSP initialization done. DSP version 1.0
Nov 27 17:51:54 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] GSDSP::setAudioMode: Switch to audio mode DISABLED
Nov 27 17:51:54 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] GSDSP::setVolume: 7
Nov 27 17:51:54 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] EventManager::registerEventListener: listener SigControl
Nov 27 17:51:55 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] EventManager::registerEventListener: listener CallControl
Nov 27 17:51:55 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] GSDSP::setAudioMode: Switch to audio mode DISABLED
Nov 27 17:51:55 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] GUIIntf::send: Send GUI blfclear 0
Nov 27 17:51:55 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] GUIIntf::send: Send GUI blfclear 1
Nov 27 17:51:55 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] GUIIntf::send: Send GUI blfclear 2
Nov 27 17:51:55 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] GUIIntf::send: Send GUI blfclear 3
Nov 27 17:51:55 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] GUIIntf::send: Send GUI blfclear 4
Nov 27 17:51:55 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] GUIIntf::send: Send GUI blfclear 5
Nov 27 17:51:55 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] GUIIntf::sendStarted: Send GUI phone started message
Nov 27 17:51:55 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] EventManager::run: Dispatching event 139 (NET_IP) on line -1
Nov 27 17:51:55 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] GUIIntf::send: Send GUI IP 192.168.10.219
Nov 27 17:51:55 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] Line 0: 0
Nov 27 17:51:55 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] Line 1: 0
Nov 27 17:51:55 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] Line 2: 0
Nov 27 17:51:55 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] Line 3: 0
Nov 27 17:51:55 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] Line 4: 0
Nov 27 17:51:55 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] Line 5: 0
Nov 27 17:51:55 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] GUIIntf::sendStarted: Send GUI phone started message
Nov 27 17:51:55 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] PhoneCtrl::run: Start motion detection
Nov 27 17:51:57 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] signal_filter: Received cfupdated
Nov 27 17:51:57 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] EventManager::run: Dispatching event 143 (CFG_UPDATED) on line -1
Nov 27 17:51:57 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] SigCtrl::processCfgUpdate: restart = 0
Nov 27 17:51:57 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] ConfigManager::loadFunctionKeys: set new subscription indexes
Nov 27 17:51:57 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] ConfigManager::load: load event list URI 0: 1
Nov 27 17:51:57 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] ConfigManager::load: load dial plan 0: { x+ | +x+ | x+ | xxx+ }
Nov 27 17:51:57 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] DialPlanSeg::compileRule: DialPlan compile [0-9][0-9][#]$
Nov 27 17:51:57 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] DialPlanSeg::compileRule: DialPlan compile +[0-9][0-9][#]$
Nov 27 17:51:57 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] DialPlanSeg::compileRule: DialPlan compile *[0-9][0-9][#]$
Nov 27 17:51:57 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] DialPlanSeg::compileRule: DialPlan compile *[0-9][0-9]*[0-9][0-9][#]$
Nov 27 17:51:57 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] DialPlan callFeatureFlag 0
Nov 27 17:51:57 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] ConfigManager::load: load dial plan 1: { x+ | +x+ | x+ | xxx+ }
Nov 27 17:51:57 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] DialPlanSeg::compileRule: DialPlan compile [0-9][0-9][#]$
Nov 27 17:51:57 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] DialPlanSeg::compileRule: DialPlan compile +[0-9][0-9][#]$
Nov 27 17:51:57 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] DialPlanSeg::compileRule: DialPlan compile *[0-9][0-9][#]$
Nov 27 17:51:57 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] DialPlanSeg::compileRule: DialPlan compile *[0-9][0-9]*[0-9][0-9][#]$
Nov 27 17:51:57 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] DialPlan callFeatureFlag 0
Nov 27 17:51:57 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] ConfigManager::load: load dial plan 2: { x+ | +x+ | x+ | xxx+ }
Nov 27 17:51:57 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] DialPlanSeg::compileRule: DialPlan compile [0-9][0-9][#]$
Nov 27 17:51:57 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] DialPlanSeg::compileRule: DialPlan compile +[0-9][0-9][#]$
Nov 27 17:51:57 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] DialPlanSeg::compileRule: DialPlan compile *[0-9][0-9][#]$
Nov 27 17:51:57 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] DialPlanSeg::compileRule: DialPlan compile *[0-9][0-9]*[0-9][0-9][#]$
Nov 27 17:51:57 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] DialPlan callFeatureFlag 0
Nov 27 17:51:57 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] ConfigManager::load: load dial plan 3: { x+ | +x+ | x+ | xxx+ }
Nov 27 17:51:57 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] DialPlanSeg::compileRule: DialPlan compile [0-9][0-9][#]$
Nov 27 17:51:57 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] DialPlanSeg::compileRule: DialPlan compile +[0-9][0-9][#]$
Nov 27 17:51:57 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] DialPlanSeg::compileRule: DialPlan compile *[0-9][0-9][#]$
Nov 27 17:51:57 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] DialPlanSeg::compileRule: DialPlan compile *[0-9][0-9]*[0-9][0-9][#]$
Nov 27 17:51:57 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] DialPlan callFeatureFlag 0
Nov 27 17:51:57 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] ConfigManager::load: load dial plan 4: { x+ | +x+ | x+ | xxx+ }
Nov 27 17:51:57 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] DialPlanSeg::compileRule: DialPlan compile [0-9][0-9][#]$
Nov 27 17:51:57 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] DialPlanSeg::compileRule: DialPlan compile +[0-9][0-9][#]$
Nov 27 17:51:57 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] DialPlanSeg::compileRule: DialPlan compile *[0-9][0-9][#]$
Nov 27 17:51:57 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] DialPlanSeg::compileRule: DialPlan compile *[0-9][0-9]*[0-9][0-9][#]$
Nov 27 17:51:57 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] DialPlan callFeatureFlag 0
Nov 27 17:51:57 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] ConfigManager::load: load dial plan 5: { x+ | +x+ | x+ | xxx+ }
Nov 27 17:51:57 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] DialPlanSeg::compileRule: DialPlan compile [0-9][0-9][#]$
Nov 27 17:51:57 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] DialPlanSeg::compileRule: DialPlan compile +[0-9][0-9][#]$
Nov 27 17:51:57 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] DialPlanSeg::compileRule: DialPlan compile *[0-9][0-9][#]$
Nov 27 17:51:57 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] DialPlanSeg::compileRule: DialPlan compile *[0-9][0-9]*[0-9][0-9][#]$
Nov 27 17:51:57 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] DialPlan callFeatureFlag 0
Nov 27 17:51:57 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] ConfigManager::load: load FXO dial plan: { x+ | +x+ | x+ | xxx+ }
Nov 27 17:51:57 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] DialPlanSeg::compileRule: DialPlan compile [0-9][0-9][#]$
Nov 27 17:51:57 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] DialPlanSeg::compileRule: DialPlan compile +[0-9][0-9][#]$
Nov 27 17:51:57 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] DialPlanSeg::compileRule: DialPlan compile *[0-9][0-9][#]$
Nov 27 17:51:57 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] DialPlanSeg::compileRule: DialPlan compile *[0-9][0-9]*[0-9][0-9][#]$
Nov 27 17:51:57 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] DialPlan callFeatureFlag 0
Nov 27 17:51:57 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] PhoneCtrl::processCfgUpdate()
Nov 27 17:51:57 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] Line 0: 0
Nov 27 17:51:57 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] Line 1: 0
Nov 27 17:51:57 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] Line 2: 0
Nov 27 17:51:57 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] Line 3: 0
Nov 27 17:51:57 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] Line 4: 0
Nov 27 17:51:57 192.168.10.219 GXP2200: [00:0B:82:46:2B:AE][1.0.3.16] Line 5: 0
To further update the issue, taking the .cfg file that EPM generates for the phone and passing it through the Grandstream config file generator generates a proper working config as I would expect.