So, I had opened a bug ticket for this but my premise was all wrong so I’ve been relegated to the forums.
I’m in deviceanduser mode, and I’m getting the following error message via e-mail when I log in or out a device. I’m not sure whats causing it.
I’m running FreePBX 2.5, updated today - CentOS 5 - Asterisk 1.4.21.2. I’m testing deviceanduser mode for implementation elsewhere and would love to get it working properly for my own sanity…
Thanks in advance!
IP Address: 1.2.3.4
Context:
Array
(
[devices] => &303
[agi] => AGI Object
(
[request] => Array
(
[agi_request] => user_login_out.agi
[agi_channel] => SIP/303-b7705d90
[agi_language] => en
[agi_type] => SIP
[agi_uniqueid] => 1224509244.1907
[agi_callerid] => 303
[agi_calleridname] => Polycom
[agi_callingpres] => 0
[agi_callingani2] => 0
[agi_callington] => 0
[agi_callingtns] => 0
[agi_dnid] => *11
[agi_rdnis] => unknown
[agi_context] => macro-user-logon
[agi_extension] => s
[agi_priority] => 15
[agi_enhanced] => 0.0
[agi_accountcode] =>
)
[config] => Array
(
[phpagi] => Array
(
[debug] => 1
[error_handler] => 1
[admin] => [email protected]
[hostname] => localhost.localdomain
[tempdir] => /var/spool/asterisk/tmp/
)
[festival] => Array
(
[text2wave] => /usr/bin/text2wave
)
[asmanager] => Array
(
[server] => localhost
[port] => 5038
[username] => admin
[secret] => amp111
)
[cepstral] => Array
(
[swift] => /opt/swift/bin/swift
[voice] => David
)
)
[asmanager] =>
[in] => Resource id #1
[out] => Resource id #2
[socket] =>
[audio] =>
)
[device_array] => Array
(
[0] =>
[1] => 303
)
[adevice] =>
[dds] => Array
(
[code] => 200
[result] => 0
[data] =>
)
)
GLOBALS:
Array
(
[GLOBALS] => Array
*RECURSION*
[argv] => Array
(
[0] => /var/lib/asterisk/agi-bin/user_login_out.agi
[1] => login
[2] => 303
[3] => 303
)
[argc] => 4
[_POST] => Array
(
)
[_GET] => Array
(
)
[_COOKIE] => Array
(
)
[_FILES] => Array
(
)
[_SERVER] => Array
(
[CONSOLE] => yes
[SELINUX_INIT] => YES
[TERM] => linux
[LD_LIBRARY_PATH] => /usr/local/lib
[INIT_VERSION] => sysvinit-2.86
[PATH] => /sbin:/usr/sbin:/bin:/usr/bin
[runlevel] => 3
[RUNLEVEL] => 3
[PWD] => /tmp
[LANG] => en_US.UTF-8
[previous] => N
[PREVLEVEL] => N
[SHLVL] => 5
[HOME] => /
[OLDPWD] => /
[_] => /bin/nice
[AST_CONFIG_DIR] => /etc/asterisk
[AST_CONFIG_FILE] =>
[AST_MODULE_DIR] => /usr/lib/asterisk/modules
[AST_SPOOL_DIR] => /var/spool/asterisk
[AST_MONITOR_DIR] => /var/spool/asterisk/monitor
[AST_VAR_DIR] => /var/lib/asterisk
[AST_DATA_DIR] => /var/lib/asterisk
[AST_LOG_DIR] => /var/log/asterisk
[AST_AGI_DIR] => /var/lib/asterisk/agi-bin
[AST_KEY_DIR] => /var/lib/asterisk/keys
[AST_RUN_DIR] => /var/run/asterisk
[PHP_SELF] => /var/lib/asterisk/agi-bin/user_login_out.agi
[SCRIPT_NAME] => /var/lib/asterisk/agi-bin/user_login_out.agi
[SCRIPT_FILENAME] => /var/lib/asterisk/agi-bin/user_login_out.agi
[PATH_TRANSLATED] => /var/lib/asterisk/agi-bin/user_login_out.agi
[DOCUMENT_ROOT] =>
[REQUEST_TIME] => 1224509253
[argv] => Array
(
[0] => /var/lib/asterisk/agi-bin/user_login_out.agi
[1] => login
[2] => 303
[3] => 303
)
[argc] => 4
)
[_ENV] => Array
(
[CONSOLE] => yes
[SELINUX_INIT] => YES
[TERM] => linux
[LD_LIBRARY_PATH] => /usr/local/lib
[INIT_VERSION] => sysvinit-2.86
[PATH] => /sbin:/usr/sbin:/bin:/usr/bin
[runlevel] => 3
[RUNLEVEL] => 3
[PWD] => /tmp
[LANG] => en_US.UTF-8
[previous] => N
[PREVLEVEL] => N
[SHLVL] => 5
[HOME] => /
[OLDPWD] => /
[_] => /bin/nice
[AST_CONFIG_DIR] => /etc/asterisk
[AST_CONFIG_FILE] =>
[AST_MODULE_DIR] => /usr/lib/asterisk/modules
[AST_SPOOL_DIR] => /var/spool/asterisk
[AST_MONITOR_DIR] => /var/spool/asterisk/monitor
[AST_VAR_DIR] => /var/lib/asterisk
[AST_DATA_DIR] => /var/lib/asterisk
[AST_LOG_DIR] => /var/log/asterisk
[AST_AGI_DIR] => /var/lib/asterisk/agi-bin
[AST_KEY_DIR] => /var/lib/asterisk/keys
[AST_RUN_DIR] => /var/run/asterisk
)
[phpagi_error_handler_email] => [email protected]
[agi] => AGI Object
(
[request] => Array
(
[agi_request] => user_login_out.agi
[agi_channel] => SIP/303-b7705d90
[agi_language] => en
[agi_type] => SIP
[agi_uniqueid] => 1224509244.1907
[agi_callerid] => 303
[agi_calleridname] => Polycom
[agi_callingpres] => 0
[agi_callingani2] => 0
[agi_callington] => 0
[agi_callingtns] => 0
[agi_dnid] => *11
[agi_rdnis] => unknown
[agi_context] => macro-user-logon
[agi_extension] => s
[agi_priority] => 15
[agi_enhanced] => 0.0
[agi_accountcode] =>
)
[config] => Array
(
[phpagi] => Array
(
[debug] => 1
[error_handler] => 1
[admin] => [email protected]
[hostname] => localhost.localdomain
[tempdir] => /var/spool/asterisk/tmp/
)
[festival] => Array
(
[text2wave] => /usr/bin/text2wave
)
[asmanager] => Array
(
[server] => localhost
[port] => 5038
[username] => admin
[secret] => amp111
)
[cepstral] => Array
(
[swift] => /opt/swift/bin/swift
[voice] => David
)
)
[asmanager] =>
[in] => Resource id #1
[out] => Resource id #2
[socket] =>
[audio] =>
)
[ampmgruser] => admin
[ampmgrpass] => amp111
[astspooldir] => /var/spool/asterisk
[ast_version] => 1.4.21.2
[dnd_devstate] =>
[fm_devstate] =>
[intercom_code] => nointercom
[ast_version14] => 1
[DEVSTATE] => DEVSTATE
[astman] => AGI_AsteriskManager Object
(
[config] => Array
(
[phpagi] => Array
(
[debug] => 1
[error_handler] => 1
[admin] => [email protected]
[hostname] => localhost.localdomain
[tempdir] => /var/spool/asterisk/tmp/
)
[festival] => Array
(
[text2wave] => /usr/bin/text2wave
)
[asmanager] => Array
(
[server] => localhost
[port] => 5038
[username] => admin
[secret] => amp111
)
[cepstral] => Array
(
[swift] => /opt/swift/bin/swift
[voice] => David
)
)
[socket] => Resource id #9
[server] => 127.0.0.1
[port] => 5038
[pagi] =>
[event_handlers] =>
)
[action] => login
[this_device] => 303
[new_user] => 303
)
Backtrace:
Array
(
[0] => Array
(
[file] => /var/lib/asterisk/agi-bin/user_login_out.agi
[line] => 258
[function] => phpagi_error_handler
[args] => Array
(
[0] => 8
[1] => Undefined variable: dialstring
[2] => /var/lib/asterisk/agi-bin/user_login_out.agi
[3] => 258
[4] => Array
(
[devices] => &303
[agi] => AGI Object
(
[request] => Array
(
[agi_request] => user_login_out.agi
[agi_channel] => SIP/303-b7705d90
[agi_language] => en
[agi_type] => SIP
[agi_uniqueid] => 1224509244.1907
[agi_callerid] => 303
[agi_calleridname] => Polycom
[agi_callingpres] => 0
[agi_callingani2] => 0
[agi_callington] => 0
[agi_callingtns] => 0
[agi_dnid] => *11
[agi_rdnis] => unknown
[agi_context] => macro-user-logon
[agi_extension] => s
[agi_priority] => 15
[agi_enhanced] => 0.0
[agi_accountcode] =>
)
[config] => Array
(
[phpagi] => Array
(
[debug] => 1
[error_handler] => 1
[admin] => [email protected]
[hostname] => localhost.localdomain
[tempdir] => /var/spool/asterisk/tmp/
)
[festival] => Array
(
[text2wave] => /usr/bin/text2wave
)
[asmanager] => Array
(
[server] => localhost
[port] => 5038
[username] => admin
[secret] => amp111
)
[cepstral] => Array
(
[swift] => /opt/swift/bin/swift
[voice] => David
)
)
[asmanager] =>
[in] => Resource id #1
[out] => Resource id #2
[socket] =>
[audio] =>
)
[device_array] => Array
(
[0] =>
[1] => 303
)
[adevice] =>
[dds] => Array
(
[code] => 200
[result] => 0
[data] =>
)
)
)
)
[1] => Array
(
[file] => /var/lib/asterisk/agi-bin/user_login_out.agi
[line] => 230
[function] => get_dial_string
[args] => Array
(
[0] => &303
)
)
[2] => Array
(
[file] => /var/lib/asterisk/agi-bin/user_login_out.agi
[line] => 154
[function] => set_hint
[args] => Array
(
[0] => 303
[1] => &303
)
)
[3] => Array
(
[file] => /var/lib/asterisk/agi-bin/user_login_out.agi
[line] => 111
[function] => insert_user
[args] => Array
(
[0] => 303
[1] => 303
)
)
[4] => Array
(
[file] => /var/lib/asterisk/agi-bin/user_login_out.agi
[line] => 58
[function] => user_login
[args] => Array
(
[0] => 303
[1] => 303
)
)
)
/var/lib/asterisk/agi-bin/user_login_out.agi:
249 // to create proper hints)
250 //
251 function get_dial_string($devices) {
252 debug("get_dial_string: devices: $devices",8);
253 global $agi;
254
255 $device_array = explode( '&', $devices );
256 foreach ($device_array as $adevice) {
257 $dds = $agi->database_get('DEVICE',$adevice.'/dial');
258 $dialstring .= $dds['data'].'&';
259 }
260 return trim($dialstring," &");
261 }
262
263 // Insert a new device into a devices string and return the new string
264 //
265 function insert_device($devices, $new_device) {
266 debug("insert_device: devices: $devices, new_device: $new_device",8);
267
268 // We could just append it but this assures no bugs duplicate the device