缺少用户配置文件,但在Conbridge.conf中它存在Asterisk-11.5.1 app_confbridge

时间:2013-12-27 10:59:40

标签: asterisk

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 USER\n");
        }

if (!conf_find_user_profile(chan, u_profile_name, &conference_bridge_user.u_profile)) {
                ast_verb(3, "Conference user profile %s does not exist\n", u_profile_name);
                ast_log(LOG_WARNING, "Conference user profile %s does not exist\n", 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

1 个答案:

答案 0 :(得分:0)

我可以在源代码中看到:

                ast_log(LOG_WARNING, "Conference user profile %s does not exist\n", u_profile_name);

如您所见,配置文件后没有逗号。

所以解决方案是:

在userprofile

之后将您的拨号方案更改为删除尾随逗号