Dailplan
'5006005' => 1. answer()
2. Set(myconference=4000)
3. Set(TMP_CONF_COUNT=${CONFBRIDGE_INFO(parties,myconference)})
4. verbose(3,"sabse 4000 has users:${TMP_CONF_COUNT}) [pbx_config]
5. Set(TMP_CONF_LOCKED=${CONFBRIDGE_INFO(locked,myconference)}) [pbx_config]
6. verbose(3,"sasbse 4000 has users:${TMP_CONF_COUNT} and lock or unlock:${TMP_CONF_LOCKED}") [pbx_config]
[Press5MuteAll] 7. ConfBridge(4000,,6016adminuser,) [pbx_config]
8. Set(TMP_CONF_COUNT=${CONFBRIDGE_INFO(parties,myconference)}) [pbx_config]
9. Set(TMP_CONF_LOCKED=${CONFBRIDGE_INFO(locked,myconference)}) [pbx_config]
10. verbose(3,"sasbse 4000 has users:${TMP_CONF_COUNT} and lock or unlock:${TMP_CONF_LOCKED}") [pbx_config]
*CLI> confbridge show profile user 6016adminuser
--------------------------------------------
Name: 6016adminuser
Admin: true
Marked User: false
Start Muted: false
MOH When Empty: enabled
MOH Class: default
Announcement:
Quiet: disabled
Wait Marked: disabled
END Marked: disabled
Drop_silence: enabled
Silence Threshold: 160ms
Talking Threshold: 0ms
Denoise: enabled
Jitterbuffer: disabled
Talk Detect Events: disabled
DTMF Pass Through: enabled
PIN: 4321
Announce User Count: enabled
Announce join/leave: enabled
Announce User Count all: enabled
===
static int confbridge_exec(struct ast_channel *chan, const char *data)
if(conf_find_user_profile(chan, u_profile_name, &conference_bridge_user.u_profile)==NULL){
ast_verb(3,"n NULL USERn");
}
if (!conf_find_user_profile(chan, u_profile_name, &conference_bridge_user.u_profile)) {
ast_verb(3, "Conference user profile %s does not existn", u_profile_name);
ast_log(LOG_WARNING, "Conference user profile %s does not existn", u_profile_name);
res = -1;
goto confbridge_cleanup;
}
confbridge_cleanup:
ast_bridge_features_cleanup(&conference_bridge_user.features);
conf_bridge_profile_destroy(&conference_bridge_user.b_profile);
===========那么为什么在 confbridge.conf 中预设用户时缺少用户呢?
-- Executing [5006005@ConfBridgeIncomingCalls:1] Answer("SIP/6017-00000002", "") in new stack
> 0xb766d7d0 -- Probation passed - setting RTP source address to 172.18.100.49:8000
-- Executing [5006005@ConfBridgeIncomingCalls:2] Set("SIP/6017-00000002", "myconference=4000") in new stack
-- Executing [5006005@ConfBridgeIncomingCalls:3] Set("SIP/6017-00000002", "TMP_CONF_COUNT=0") in new stack
-- Executing [5006005@ConfBridgeIncomingCalls:4] Verbose("SIP/6017-00000002", "3,"sabse 4000 has users:0") in new stack
-- "sabse 4000 has users:0
-- Executing [5006005@ConfBridgeIncomingCalls:5] Set("SIP/6017-00000002", "TMP_CONF_LOCKED=0") in new stack
-- Executing [5006005@ConfBridgeIncomingCalls:6] Verbose("SIP/6017-00000002", "3,"sasbse 4000 has users:0 and lock or unlock:0"") in new stack
-- "sasbse 4000 has users:0 and lock or unlock:0"
-- Executing [5006005@ConfBridgeIncomingCalls:7] ConfBridge("SIP/6017-00000002", "4000,,6016adminuser,") in new stack
--
info === 4000,6016adminuser,, --
**NULL USER**
**-- Conference user profile 6016adminuser, does not exist**
[2013-12-27 15:48:45] WARNING[20071][C-00000002]: app_confbridge.c:3722 confbridge_exec: Conference user profile 6016adminuser, does not exist
[2013-12-27 15:48:45] WARNING[20071][C-00000002]: app_confbridge.c:3722 confbridge_exec: Conference user profile 6016adminuser, does no
我可以在源代码中看到:
ast_log(LOG_WARNING, "Conference user profile %s does not existn", u_profile_name);
如您所见,它在配置文件后没有逗号。
所以解决方案是:
更改拨号计划以删除用户配置文件后面的尾随逗号