Solved

Automatic 2 or 3-way conference

Posted on 2010-08-19
15
1,057 Views
Last Modified: 2013-12-21
Hi all,

I am trying to set up an automatic 3-way conference. Three extensions would form a group, and whenever one of the parties calls the conference number, the other 2 members are automatically called and put into the conference.

Is this even possible? Please help.

Thanks
0
Comment
Question by:netcmh
  • 5
  • 4
  • 4
  • +2
15 Comments
 
LVL 32

Expert Comment

by:DrDamnit
ID: 33483667
Not possible using the actual dialplan conferencing software MeetMe. If you are an expert PHP programmer, it may be possible using AGI.
0
 
LVL 20

Author Comment

by:netcmh
ID: 33484439
No I'm not. If anyone has a solution or a method to get me started, I'd be very appreciative.

Thanks
0
 
LVL 7

Expert Comment

by:nauliv
ID: 33493887
Let's make sure about what you're trying to do...

* You have an Asterisk PBX with 3 users SIP/100, SIP/101 and SIP/102.
* You'd like that if any of these users dial a particular extension, Asterisk will automatically call the other 2 users, and then put all 3 users into a conference call.

Is that what you are looking for ?
0
 
LVL 2

Expert Comment

by:asternic
ID: 33506615
Here you have a dialplan snippet that will do the trick. It is kind of raw but it does not need AGI scripts.

GROUPCALL variable should contain the extensions that are part of the group
CTX should be set to the context where you can find those extensions
ROOM is the meetme conference number to use




exten => 1720,1,Answer
exten => 1720,n,Set(GROUPCALL=602!606!604)
exten => 1720,n,Set(CTX=from-internal)
exten => 1720,n,Set(ROOM=5000)
; Do not modify below this line
exten => 1720,n,Set(AUTHORIZED=0)
exten => 1720,n,Set(i=1)
exten => 1720,n,While($[${i}<=${FIELDQTY(GROUPCALL,!)}])
exten => 1720,n,Set(CURRENT_EXTEN=${CUT(GROUPCALL,!,${i})})
exten => 1720,n,ExecIf($["${CALLERID(number)}" = "${CURRENT_EXTEN}"],Set,AUTHORIZED=1)
exten => 1720,n,ExecIf($["${CALLERID(number)}" != "${CURRENT_EXTEN}"],Set,OTHERPARTY="${OTHERPARTY}!${CURRENT_EXTEN}")
exten => 1720,n,Set(i=$[${i}+1])
exten => 1720,n,EndWhile
exten => 1720,n,GotoIf($["${AUTHORIZED}" = "1"]?ok)
exten => 1720,n,Noop(Calling Extension is not in Group, Hangup)
exten => 1720,n,Playback(goodbye)
exten => 1720,n,Hangup
exten => 1720,n(ok),Noop(Calling Extension is in Group, continue)
exten => 1720,n,Set(OTHERPARTY=${OTHERPARTY:1}
exten => 1720,n,Set(i=1)
exten => 1720,n,While($[${i}<=${FIELDQTY(OTHERPARTY,!)}])
exten => 1720,n,Set(CURRENT_EXTEN=${CUT(OTHERPARTY,!,${i})})
exten => 1720,n,System(/usr/sbin/asterisk -rx "originate Local/${CURRENT_EXTEN}@${CTX} application Meetme ${ROOM}")
exten => 1720,n,Set(i=$[${i}+1])
exten => 1720,n,EndWhile
exten => 1720,n,Meetme(${ROOM})
exten => 1720,n,Hangup

Open in new window

0
 
LVL 20

Author Comment

by:netcmh
ID: 33524486
nauliv: yes, just to let you know however, that these users are physically in 3 different locations

asternic: looks complicated, will go through it.
0
 
LVL 2

Accepted Solution

by:
asternic earned 500 total points
ID: 33526906
A little explanation of the diaplan I posted:

GROUPCALL: contains the list of extensions that are part of the group and are allowed to dial that extension to fire the conference. You have to enumerate the extensions separating them with an exclamation mark.

CTX: is the context to dial those extensions, you should be able to reach those extensions from that context in the asterisk dialplan. from-internal is the typical freepbx context.

ROOM: Is the meetme conference number that will be used for the group, It must be defined in meetme.conf

When you dial 1720, it will check if your callerid number is part of the group (in the example it looks for 602, 604 and 606). If the callerid number does not match any of those, it will disconnect the call.
If it matches, it will put you on meetme number ROOM and it will originate two calls to the other members and put those calls in the meetme room too.



0
 
LVL 20

Author Comment

by:netcmh
ID: 33530688
This would hold true even if the people those extensions are assigned to dial in from different states, right?
0
What Is Threat Intelligence?

Threat intelligence is often discussed, but rarely understood. Starting with a precise definition, along with clear business goals, is essential.

 
LVL 2

Expert Comment

by:asternic
ID: 33535550
If those people have sip accounts registered in your asterisk box, it does not matter where they are located. They appear as local extensions to asterisk.

It they are dialing in from external lines into your system, you can do that too by using their callerids and real phone numbers (not extensions). It should work too providing that you are receiving a proper callerid that is also suitable for being dialed out.

0
 
LVL 20

Author Closing Comment

by:netcmh
ID: 33747528
Wonderfully explained. Thank you
0
 

Expert Comment

by:dss-tech
ID: 37296860
Nice script, works very fine!
I have another problem: I need that when one of the extensions leaves the conference all the other ones are automaticalyy hanged up. Is it possible?

Thanks a lot
0
 
LVL 2

Expert Comment

by:asternic
ID: 37296912
The only way to have automatically destroyed conferences without using AMI is to use the options for meetme "A" for marking a user, and "x" for destroying the conference when the last marked user exists.

The problem is that you will have to decide what extension is the one that is going to be marked, the dialplan I posted give sthe same meetme call for everyone, you should modify it to pass Ax as meetme options to just one of the extensions, if that extension exists , the conference will be destroyed. So it works only by marking users, not for any of the users.
0
 

Expert Comment

by:dss-tech
ID: 37296962
asternic,
thank you for the quick answer.

This could not be a problem for me, since I'm using the script to submit messages throug SNOM PA1 paging phones, so that there is one actual originator and the PA1 acts as "clients", meaning that they auto-answer to the conference, but they cannot hang up by themseves. As soon as the "originator" leaves the conference all the partecipants must be hanged up.
0
 

Expert Comment

by:dss-tech
ID: 37297343
I mean: I would like to have ext 739 and 763 to be joined to my conf and the conf destroyed when I leave.

Should sound something like this:

exten => 1002,1,Answer
exten => 1002,n,Set(GROUPCALL=733!763!739)
exten => 1002,n,Set(CTX=from-internal)
exten => 1002,n,Set(ROOM=5000)
; Do not modify below this line

exten => 1002,n,System(/usr/sbin/asterisk -rx "originate Local/763@${CTX} application Meetme ${ROOM}")
exten => 1002,n,System(/usr/sbin/asterisk -rx "originate Local/739@${CTX} application Meetme ${ROOM}")
exten => 1002,n,Meetme(${ROOM},Ax)
exten => 1002,n,Hangup

But it doesn't work when I hang up the others remain on the conference
0
 
LVL 2

Expert Comment

by:asternic
ID: 37297732
Have not tried myself, but try passing x to the Meetme call in the originate line.
0
 

Expert Comment

by:dss-tech
ID: 37313999
Thanks, that made the trick.

I put x on "silent" participants and xA on originating call ant that works.
Thank you for your help
0

Featured Post

How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

Join & Write a Comment

Suggested Solutions

How To Create Custom / Distinctive Ring Tones on Polycom Phones Purpose and Overview When creating a custom ring tone, you have simple aspirations: to make your phone cooler than everyone else's. Perhaps you need a louder ringer. Perhaps you w…
Implementing Avaya's One-X portal is pretty painless, until you want to deploy this to the Android and iPhone clients when these clients are outside of your network. The clients will also work within your local network. Here is our experience and so…
Internet Business Fax to Email Made Easy - With eFax Corporate (http://www.enterprise.efax.com), you'll receive a dedicated online fax number, which is used the same way as a typical analog fax number. You'll receive secure faxes in your email, fr…
This tutorial demonstrates a quick way of adding group price to multiple Magento products.

760 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

17 Experts available now in Live!

Get 1:1 Help Now