3
votes

I've tried to set up conference call using asterisk & free switch as well where my SIP soft phone is XLite. I'm able to do conference using both asterisk & free switch with XLite. Now i'm trying the reverse way that instead of endpoints start the conference,let free switch it self to start a conference at a scheduled time. As per the research i've done I've wrote a dialplan file to make it work out.

These are some application & API which is useful for my idea, minute-of-day --> for scheduling a task at a perticular time conference_set_auto_outcall --> for calling endpoints to join a conference

I've added the below to default.xml of dialplan

    <extension name = "scheduling" >
           <! -- condition is every day at 10 am start conference-->
              <condition minute-of-day= "600">
              <!-- do conference as action -->    
    <!--condition field="destination_number" expression="^(3000)$"-->    
 <action application="answer"/>
 <action application="set" data="conference_auto_outcall_timeout=5"/>
 <action application="set" data="conference_auto_outcall_flags=none"/>
 <action application="set"
 data="conference_auto_outcall_caller_id_name=$${effective_caller_id_name}"/>
 <action application="set"
 data="conference_auto_outcall_caller_id_number=$${effective_caller_id_number}"/>
 <action application="set" data="conference_auto_outcall_profile=default"/>
 <!-- called to my detsination -->
 <action application="conference_set_auto_outcall" data="user/1001@$${domain}"/>
 <action application="conference_set_auto_outcall" data="user/1002@$${domain}"/>
 <action application="conference_set_auto_outcall" data="user/1003@$${domain}"/>
 <action application="conference" data="$1@default"/>
 </condition>
 </extension>

I'm not able to find out why it's not working ? atleast some actions it should perform at the scheduled time. After my changes i've reloaded the xml as well in the below way start fc_cli & then run reloadxml command

1

1 Answers

0
votes

The dialplan extension, and therefore the time-routing condition, will not run on it's own. It has to be called, so unless there is a call transversing the dialplan and triggering that 'scheduling' extension, it will not work. Probably the best way to go about this would be to use the originate command to call the users and then bridge them into the conference:

fs_cli -x "originate sofia/internal/1000@$${domain} &conference($1@default)" fs_cli -x "originate sofia/internal/1001@$${domain} &conference($1@default)" fs_cli -x "originate sofia/internal/1002@$${domain} &conference($1@default)"

You can put this on a cron to run on the time you want and it should accomplish what you are trying to do above.