[asterisk-dev] Asterisk-11.5.1 Confbridge Dailout using pbx_exce new user not placed into current conference

hkc323 hkc323 at gmail.com
Mon Apr 21 05:52:47 CDT 2014


 Task:Dialout from current running ConferenceBridge(eg.:1010101) and Add Sip
user (eg:Sip/7001 on my newwork )
issue:
We i Dailout with Dial app with help of func. pbx_exec
User not merge current running ConferenceBridge(eg.:1010101) but create
other new conferenceBridge.
(eg : Name:conference_bridge->name)
help : how to pass conference_bridge->name into Dial App strings.?
so that new user merge place into current running Conferencebridge.

[macro-CONFDAILOUT]
exten => s,1,Verbose("================== USER has PICKUPED OR ANSWERED so
placed him/her into Conf no : ${ARG1} =================== ")
;same => n,Set(MEETME_ROOMNUM=1010101)
;same => n,ConfBridge(${MEETME_ROOMNUM},,,conf-admin-sub-dialout)
same => n,ConfBridge(${ARG1},,,conf-admin-sub-dialout)
same => n,macroexit()

struct ast_app *dialapp = pbx_findapp("Dial");
char dialstr[100];
char confnum[8];
ast_copy_string(confnum,conference_bridge->name,sizeof(confnum));
ast_verb(3,"\n *************Confnum :%s ************\n",confnum);
ast_verb(3,"\n *************&Confnum :%s ************\n",&confnum);

strcpy (dialstr,"SIP");
//strcpy (dialstr,"SIP");
strcat (dialstr,"/");
strcat (dialstr,Sphone);
strcat (dialstr,",");
strcat (dialstr,"30");
strcat (dialstr,",");
//for o/p:1
strcat (dialstr,"hgM(CONFDAILOUT^&confnum)");
//for o/p:2
//strcat (dialstr,"hgM(CONFDAILOUT^&conference_bridge->name)");

ast_verb(3,"\n=====Dialing string: '%s' =====\n", dialstr);

ast_log(LOG_NOTICE,"\n=====Dialing string: '%s' =====\n", dialstr);

res=pbx_exec(bridge_channel->chan,dialapp,dialstr);
//res=pbx_exec(bridge_channel->chan,Originate,dialstr);

ast_verb(3,"\n ========Return from pbx_exec '%i' \n",res);
ast_log(LOG_NOTICE,"\n ======Return from pbx_exec '%i'",res);

pbx_builtin_setvar_helper(bridge_channel->chan,
"sourcemeetme",conference_bridge->name);
ast_verb(3,"\n ====Return from  Disposition:
'%s'\n",pbx_builtin_getvar_helper(bridge_channel->chan, "DIALSTATUS"));

conference_bridge->name is [1010101]
and &conference_bridge->name:[1010101]
=====Dialing string: 'SIP/7001,30,hgM(CONFDAILOUT^conference_bridge->name)'
=====
o/p:1
Conference Bridge Name           Users  Marked Locked?
================================ ====== ====== ========
conference_bridge->name               1      0 unlocked
1010101                               1      1 unlocked
o/p:2
Conference Bridge Name           Users  Marked Locked?
================================ ====== ====== ========
1010101                               1      1 unlocked
&confnum                              1      0 unlocked






More information about the asterisk-dev mailing list