[Asterisk-Users] ad hoc conferencing-reg

Adam Moffett adam at plexicomm.net
Thu Nov 10 07:39:31 MST 2005


I've think I've been working on the same thing.  Many SIP phones have a 
built in conferencing feature...but they may not all work the same and 
may have all different instructions.  So doing it in asterisk is 
preferable to me so I can give users one set of instructions for it.

It's not a simple straightforward thing like "threewaycalling= on" in 
zapata.conf.  For SIP you have to create an extension that executes a 
macro which dynamically creates a meetme conference or adds a caller to 
an existing one.  Then you create an extension that goes to that macro.

Person A can then call person B, transfer person B to the conference 
extension, call Person C, transfer Person C to the conference extension, 
then call the conference extension to add themselves to the conference.  
At least that's the idea....I haven't quite got it working perfectly ;)

First I enabled blindxfer in features.conf

Then in extensions.conf created an extension for conferences...it's 999 
for me but it could be anything.

Then I added this NWayCall macro below.  This is a modified version of 
something I saw on Voip-info.org.  When this macro is called, it first 
checks to see if the caller was transfered to it or called the extension 
directly.  If they were transfered here, it gets the name of the SIP 
user that transfered them, then checks to see if a conference with that 
name exists.  If the conference doesn't exist it creates one, otherwise 
it adds the transferred person to the conference.   If you weren't 
transfered to this extension (as in, you called it directly) it adds you 
to the conference.

Last time I tried this was last week, and I've been busy with other 
things since.  When I tried it, it worked but it was very twitchy.  Any 
improvements you can come up with would be appreciated.

Or if anyone has an entirely better way to do this, I'm listening.



exten => 999,1,Macro(NWayCall)

[macro-NWayCall]
exten => s,1,Noop(${BLINDTRANSFER})
exten => s,2,Gotoif($["${BLINDTRANSFER}" != 
""]?s-TRANSFERED|1:s-NOTTRANSFERED|1)

exten => s-TRANSFERED,1,GoTo(s-SIPHOLDER|1)

exten => s-SIPHOLDER,1,Cut(CONFHOLDER=BLINDTRANSFER,/,2)
exten => s-SIPHOLDER,2,Cut(CONFHOLDER=CONFHOLDER,-,1)
exten => s-SIPHOLDER,3,Goto(s-USERJOIN|1)

exten => s-USERJOIN,1,MeetMe(${CONFHOLDER},dwxM)
exten => s-USERJOIN,2,Hangup()

exten => s-NOTTRANSFERED,1,GoTO(s-SIP2HOLDER|1)

exten => s-SIP2HOLDER,1,Cut(CONFHOLDER=CHANNEL,/,2)
exten => s-SIP2HOLDER,2,Cut(CONFHOLDER=CONFHOLDER,-,1)
exten => s-SIP2HOLDER,3,Goto(s-CHECKCONFEXIST|1)

exten => s-CHECKCONFEXIST,1,MeetmeCount(${CONFHOLDER},CONFCOUNT)
exten => s-CHECKCONFEXIST,2,GotoIf($["${CONFCOUNT}" = 
""]?s-INVALID|1:s-CONFNOTEMPTY|1)

exten => s-CONFNOTEMPTY,1,Gotoif($[${CONFCOUNT} > 
0]?s-HOLDERJOIN|1:s-INVALID|1)

exten => s-HOLDERJOIN,1,Meetme(${CONFHOLDER},qdAx)

exten => s-INVALID,1,Playtones(info)
exten => s-INVALID,2,Wait(10)
exten => s-INVALID,3,Hangup()




>Hi all
>
>How to configure adhoc conferencing in asterisk for
>sip phones.pls give me if any document for that.
>
>regards
>ramakrishnan.n
>
>
>	
>		
>__________________________________ 
>Yahoo! Mail - PC Magazine Editors' Choice 2005 
>http://mail.yahoo.com
>_______________________________________________
>--Bandwidth and Colocation sponsored by Easynews.com --
>
>Asterisk-Users mailing list
>Asterisk-Users at lists.digium.com
>http://lists.digium.com/mailman/listinfo/asterisk-users
>To UNSUBSCRIBE or update options visit:
>   http://lists.digium.com/mailman/listinfo/asterisk-users
>  
>




More information about the asterisk-users mailing list