Re: [asterisk-users] Questions on converting to ConfBridge

2012-10-03 Thread kenner
 Why are you wanting to use CLI commands instead of AMI? The available 
 AMI actions for ConfBridge can do listing/locking/muting/kicking etc as 
 you want.

Because I can't easily manually do an AMI command, but instead have to
write code to do it.  It's important to me to be able to clean up things
from the command-line if something is stuck or broken.

 As for dialplan applications to do the various things - what are you 
 trying to achieve using them?

And IVR application that people can call into and manipulate people in
conference rooms.  Note that this depends on dialplan commands *and*
having a number index for them.  It's unclear how I'd do this with
confbridge.

Here's the dialplan I'm using.

exten = 210/_[12]XX,1,NoOp ; Valid if internal.
exten = 210,s,Gosub(Authenticate,s,1()); Else authenticate.
 same = n,Mset(C=conferenceha/roomdigits/2digits/0,E=adacore/not-exist)
 same = n,Mset(STATS_INC(conf_mgr)=1,__G=conf_op) ; Count the usage.
 same = n(r),Macro(Get-Speech,${G},${EFN}adacore/conf_mgr,2,10,100,w)
 same = n,GotoIf(${S_T}?${S_T},1:r); Retry or do action.

exten = _[lLK]20Z,1,GotoIf(${MEETME_INFO(parties,20${EXTEN:-1})}?:err)
exten = _L20Z,n,Mset(V=lock,T=locked,E=isadacore/already-locked)
exten = _l20Z,s,Mset(V=unlock,T=unlocked,E=isadacore/already-unlocked)
exten = _K20Z,s,Mset(V=terminate,T=terminated) ; To terminate.
exten = 
_[lLK]20Z,n,Set(CFN=adacore/you-want-toadacore/${V}${C}digits/${EXTEN:-1})
exten = _[lLK]20Z,n,Gosub(Is-That-Correct,s,1) ; ... and see if correct.
exten = _[lLK]20Z,n,GotoIf($[${GOSUB_RETVAL}=2]?210,r) ; Retry it not.
exten = _L20Z,n,GotoIf(${MEETME_INFO(lock,20${EXTEN:-1})}?err) ; Bad status.
exten = _l20Z,s,GotoIf(${MEETME_INFO(lock,20${EXTEN:-1})}?:err) ; Likewise.
exten = _K20Z,s,NoOp   ; No test needed for termination.
exten = _[lLK]20Z,n,MeetMeAdmin(${EXTEN:-3},${EXTEN:0:1}) ; Perform op.
exten = _[lLK]20Z,n,Set(EFN=${C}digits/${EXTEN:-1}isnowadacore/${T})
exten = _[lLK]20Z,n,Goto(210,r); Ask for another operation.

exten = _[lLK]20Z,n(err),Set(EFN=im-sorry${C}digits/${EXTEN:-1}${E})
exten = _[lLK]20Z,n,Goto(210,r); See if another operation is wanted.

exten = _s20Z,1,Goto(s20${EXTEN:-1}${MEETME_INFO(parties,${EXTEN:-3})},1)
exten = _s20Z.,1,Playback(${C}digits/${EXTEN:3:1}) ; Say that conference ...
exten = _s20Z0,n,Playback(adacore/not-exist)   ; ... doesn't exist,
exten = _s20Z1,s,Swift(has one participant); ... or has one person,
exten = _s20Z.,s,Swift(has ${EXTEN:4} participants) ; ... or more.
exten = _s20Z.,n,ExecIf(${MEETME_INFO(lock,${EXTEN:1})}?Swift(and is locked)
exten = _s20Z.,n,Set(M=$[CEIL(MEETME_INFO(activity,${EXTEN:1:3})/60)])
exten = _s20Z[1-9]!,n,Swift(and has been active for ${M} minutes)
exten = _s20Z.,s,NoOp  ; In other cases, do nothing.
exten = _s20Z.,n,Goto(210,r)   ; Go back for another operation.

exten = _j20Z,1,Set(CFN=you-wish-to-join${C}digits/${EXTEN:-1})
 same = n,Gosub(Is-That-Correct,s,1) ; See if correct.
 same = n,GotoIf($[${GOSUB_RETVAL}=2]?210,r) ; Retry it not.
 same = n,SpeechDestroy; Else free speech channel.
 same = n,Goto(${EXTEN:-3},1)  ; And go there.

exten = 
_[pP]20Z,1,GotoIf($[MEETME_INFO(parties,${EXTEN:1})=0]?s20${EXTEN:-1}0,1)
 same = n,Swift(participants in)   ; Say the header and ...
 same = n,Playback(${C}digits/${EXTEN:3:1})   ; ... conference number.
 same = n,ExecIf($[x${G:0:3}=xtmp]?System(rm -f ${GRAMS}/${G}.gram))
 same = n,Set(__G=tmp/r${RAND(1,9)})   ; Grammar filename part.
 same = n,AGI(conflist.php,${EXTEN:1},${GRAMS}/${G}.gram,${EXTEN:0:1})
 same = n,Goto(210,r)  ; And go back.

exten = _m20ZXX.,1,Mset(Q=adacore/unmute,OP=adacore/unmuted)
exten = _M20ZXX.,s,Mset(Q=adacore/mute,OP=adacore/muted)
exten = _k20ZXX.,s,Mset(Q=adacore/remove,OP=removed)
exten = _[Mmk]20ZXX.,n,Playback(adacore/you-want-to${Q}) ; Start question.
 same = n,Swift(${EXTEN:6}); Say who ...
 same = n,Gosub(Is-That-Correct,s,1)   ; ... and see if correct.
 same = n,GotoIf($[${GOSUB_RETVAL}=2]?210,r)   ; Retry it not.
 same = n,Set(U=${IF($[${EXTEN:4:1}=0]?${EXTEN:5:1}:${EXTEN:4:2})})
 same = n,MeetMeAdmin(${EXTEN:1:3},${EXTEN:0:1},${U}) ; Do operation.
 same = n,Swift(${EXTEN:6}); Say name ...
 same = n,Playback(${OP})  ; ... and what we did.
 same = n,Goto(210,r)  ; Go back for another try.

exten = What,1,Set(EFN=adacore/confop_what) ; Say what options are available.
 same = n,Goto(210,r)  ; And go back and prompt again.
exten = Done,1,Playback(vm-goodbye); Here to hangup.

Here's the grammar:

#ABNF 1.0 UTF-8;
language en-US;
mode voice;
tag-format semantics/1.0.2006;
root $conf_op;

$Operation = lock {out = L;}
| unlock {out = l;}
| (end | kill | terminate) {out = K;}
| join { out = j;}
| [(say | get)] status [of] { 

Re: [asterisk-users] Questions on converting to ConfBridge

2012-10-03 Thread Leif Madsen

On 02/10/12 06:07 PM, Richard Kenner wrote:

I'm looking at what would be involved in converting from MeetMe to
ConfBridge and there seems to be a lot of missing administrative things,
but I hope I'm just missing it.



There also doesn't
seem to be a way to lock conferences or mute or kick out users from
the dialplan.

What am I missing?


You're missing the custom DTMF based menus in confbridge.conf, which 
allows you to set menus separately for admins and users of the 
conference bridge. This menu allows you to control kicking, muting, etc 
of users within the conference bridge.


No need to manipulate from the dialplan anymore.


--
Leif Madsen
http://www.oreilly.com/catalog/asterisk

--
_
-- Bandwidth and Colocation Provided by http://www.api-digital.com --
New to Asterisk? Join us for a live introductory webinar every Thurs:
  http://www.asterisk.org/hello

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
  http://lists.digium.com/mailman/listinfo/asterisk-users


[asterisk-users] Questions on converting to ConfBridge

2012-10-02 Thread Richard Kenner
I'm looking at what would be involved in converting from MeetMe to
ConfBridge and there seems to be a lot of missing administrative things,
but I hope I'm just missing it.  We all know about the missing realtime
linkage.  That's a major nuisance, but can be worked around.

More serious is that the CLI command to display users in a ConfBridge
don't show the caller ID information, so it becomes very hard to
have web applications that show who's in a conference.  There also doesn't
seem to be a way to lock conferences or mute or kick out users from
the dialplan.  And the CLI command needs a channel, not a user index,
making scripting via the dialplan that much harder.

What am I missing?

--
_
-- Bandwidth and Colocation Provided by http://www.api-digital.com --
New to Asterisk? Join us for a live introductory webinar every Thurs:
   http://www.asterisk.org/hello

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-users


Re: [asterisk-users] Questions on converting to ConfBridge

2012-10-02 Thread Joshua Colp

Hola,

Richard Kenner wrote:


I'm looking at what would be involved in converting from MeetMe to
ConfBridge and there seems to be a lot of missing administrative things,
but I hope I'm just missing it.  We all know about the missing realtime
linkage.  That's a major nuisance, but can be worked around.


I think you are only the second or third person to really even mention 
realtime in the context of ConfBridge in the places I see.



More serious is that the CLI command to display users in a ConfBridge
don't show the caller ID information, so it becomes very hard to
have web applications that show who's in a conference.  There also doesn't
seem to be a way to lock conferences or mute or kick out users from
the dialplan.  And the CLI command needs a channel, not a user index,
making scripting via the dialplan that much harder.


Why are you wanting to use CLI commands instead of AMI? The available 
AMI actions for ConfBridge can do listing/locking/muting/kicking etc as 
you want.


As for dialplan applications to do the various things - what are you 
trying to achieve using them?


Cheers,

--
Joshua Colp
Digium, Inc. | Senior Software Developer
445 Jan Davis Drive NW - Huntsville, AL 35806 - USA
Check us out at:  www.digium.com   www.asterisk.org

--
_
-- Bandwidth and Colocation Provided by http://www.api-digital.com --
New to Asterisk? Join us for a live introductory webinar every Thurs:
  http://www.asterisk.org/hello

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
  http://lists.digium.com/mailman/listinfo/asterisk-users