[Freeswitch-dev] Pin-less entry into conference

Robert Joly rjoly at nortel.com
Tue Sep 8 07:16:52 PDT 2009

I'm not sure that I fully understand your question/statement but here it

When a conference with a PIN is created, I never want mod_conference to
not check for a PIN as this would go against the will of the conference
creator.  Instead, I want to add an additional way for the conference
module  to collect the PIN when a user enters a conference.  With what
I'm proposing, the PIN can be collected from the keypad (as it is today)
or alternatively, it can be collected directly from the message via a
dialplan variable.  The latter approach allows a system to add ad hoc
parties to an ongoing conference without requiring them to know the PIN.

Does that help clarify what I did?

Thank you in advance,

> On Thursday, September 03, 2009 7:48 PM Anthony Minessale wrote:
> Can't you just omit telling mod_conference to not check a pin 
> when you see your variable.
> On Thu, Sep 3, 2009 at 9:20 AM, Robert Joly <rjoly at nortel.com> wrote:
> 	Hi,
> 	I work on a SIP PBX project that is using FreeSWITCH as a audio
> 	conference server which is working great.  The audio 
> conferencing is
> 	very well integrated in out web-based configuration 
> server and allows
> 	the owner of the conference to control it (mute, 
> unmute, isolate, ...)
> 	from a browser.  One other neat thing a conference 
> owner can do through
> 	the browser is to invite additional parties to the 
> conference by typing
> 	in a SIP URI.  This causes our SIP PBX to do 3rd party 
> call control to
> 	refer the invited party to the proper conference.  This 
> works very well
> 	for conferences that do not require a PIN but breaks 
> for conferences
> 	that do.  In the latter case, when the invited party 
> answers the call,
> 	he hears "please enter your conference access number" 
> out of context.
> 	Given that this scenario is less that ideal I started 
> looking for
> 	solutions what would allow someone to join a 
> 'PIN-guarded' conference
> 	without being prompted for one.  I looked at a variety 
> of dialplan-based
> 	options without success and turned to another option which I
> 	successfully prototyped.  The purpose of this post is 
> to socialize the
> 	solution I came up with to get feedback and to 
> ultimately learn what
> 	needs to be done to get this functionality committed in 
> the code base.
> 	The high-level solution I came up with consists the following:
> 	1- add the conference PIN to the INVITE that is sent to 
> 	2- have conference dialplan set a well-known dialplan 
> variable with the
> 	content of the PIN as extracted from the INVITE;
> 	3- have mod_conference test the pin contained in the 
> well-known dialplan
> 	variable before deciding to prompt the user to enter a PIN.
> 	The solution I prototyped supports two ways of adding 
> the PIN to an
> 	INVITE. First, the pin can be included as a well-known 
> URL parameter
> 	added to the INVITE, e.g. INVITE
> 	sip:myconf at myfreeswitch.local;X-ConfPin=1234 SIP/2.0.  
> When the PIN is
> 	passed as a URL parameter, the conference dialplan 
> needs to be of the
> 	following form to allow PIN-less entry:
> 	 <extension name="700">
> 	   <condition field="destination_number" expression="^700$">
> 	     <action application="set" 
> data="supplied_pin=${sip_req_params}"/>
> 	     <action application="conference" data="myconf at 700+1234"/>
> 	   </condition>
> 	 </extension>
> 	The other way of adding a PIN to an INVITE is to add a 
> user-chosen
> 	proprietary header containing the PIN to the INVITE, e.g.
> 	X-My-Custom-Pin-Header: 1234.  When the PIN is passed 
> as a header, the
> 	conference dialplan needs to be of the following form 
> to allow PIN-less
> 	entry:
> 	 <extension name="700">
> 	   <condition field="destination_number" expression="^700$">
> 	     <action application="set"
> 	data="supplied_pin=${sip_h_X-My-Custom-Pin-Header}"/>
> 	     <action application="conference" data="myconf at 700+1234"/>
> 	   </condition>
> 	 </extension>
> 	Whichever method is taken, the end results are similar, i.e. the
> 	'supplied-pin' dialplan variable is initialized with 
> the conference PIN
> 	passed in the INVITE.  All that is left to do is for 
> the mod_conference
> 	to look-up the variable and extract the PIN out of it 
> if non-empty and
> 	use it as though the user entered it from his keypad.  
> If the PIN is not
> 	the correct one, the logic defaults to prompting the user.  The
> 	mod_conference patch is attached to this post which 
> essentially consists
> 	in adding 10 lines of code (if you ignore the lines 
> changed because of
> 	indentation).
> 	Does this approach sound reasonable to you?  If so, 
> I'll open a tracker
> 	describing the problem and solution and attach my patch 
> to it so that it
> 	can be committed.
> 	Thank you very much in advance,
> 	Robert
> 	_______________________________________________
> 	FreeSWITCH-dev mailing list
> 	FreeSWITCH-dev at lists.freeswitch.org
> 	http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev
> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev
> 	http://www.freeswitch.org
> --
> Anthony Minessale II
> FreeSWITCH http://www.freeswitch.org/
> ClueCon http://www.cluecon.com/
> Twitter: http://twitter.com/FreeSWITCH_wire
> AIM: anthm
> MSN:anthony_minessale at hotmail.com 
> <mailto:MSN%3Aanthony_minessale at hotmail.com>
> GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com 
> <mailto:PAYPAL%3Aanthony.minessale at gmail.com>
> IRC: irc.freenode.net #freeswitch
> FreeSWITCH Developer Conference
> sip:888 at conference.freeswitch.org 
> <mailto:sip%3A888 at conference.freeswitch.org>
> iax:guest at conference.freeswitch.org/888
> googletalk:conf+888 at conference.freeswitch.org 
> <mailto:googletalk%3Aconf%2B888 at conference.freeswitch.org>
> pstn:213-799-1400

More information about the FreeSWITCH-dev mailing list