Hello everyone,
let's say, I have a FreeSWITCH conference that is PIN-protected and where I want to record each participant's name. How do I announce the name of a participant *after* the caller's PIN has been validated?
So far I tried something like this:
<extension name="Record Name and schedule conf announce">
<condition field="destination_number" expression="^34(\d{2})$">
<action application="answer"/>
<action application="set" data="namefile=/tmp/${uuid}-name.wav" inline="true"/>
<action application="sleep" data="1000"/>
<action application="playback" data="voicemail/vm-record_name1.wav"/>
<action application="playback" data="tone_stream://%(500,0,500)"/>
<action application="record" data="${namefile} 5"/>
<action application="playback" data="ivr/ivr-call_being_transferred.wav"/>
<action application="set" data="res=${sched_api +1 none conference 31$1-${domain_name} play file_string://${namefile}!conference/conf-has_joined.wav}"/>
<action application="transfer" data="31$1 XML default"/>
</condition>
</extension>
<extension name="wb_conferences">
<condition field="destination_number" expression="^(31\d{2})$">
<action application="answer"/>
<action application="conference" data="$1-${domain_name}@wideband${conference_pin}"/>
</condition>
</extension>
Participant dials 34xx, name is recorded, playback scheduled, call transferred to 31xx, which initiates the conference, but sched_api plays the join message before the pin has been validated.
Is there a way to hook into the conference so that the join message is only scheduled after the PIN has been validated successfully?