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