mod_sofia will now examine a variable in the channel to
see what the channel's originator was using for a codec and
try to put that to the top of the list in the sdp.
if this new sofia profile param is set:
<param name="disable-transcoding" value="true"/>
All outbound calls will use *only* the codec that thier originator
is using to ensure no transcoding.
(of course that could lead to a failed call where there is no way to do this, so use sparingly)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4073 d0543943-73ff-0310-b7d9-9358b9ac24b2
1) The xml_curl now has a more enterprise config where it can have more than 1
url configured so you could have failover. (*note the syntax change*)
2) dialplan modules now take an extra arguement making it possible to pass runtime params to
them. This is now used in mod_dialplan_xml to allow an alternate file path to be specified.
dialplans were already stackable meaning you can configure a sofia profile, for example,
to use enum followed by the default XML dialplan.
e.g. <param name="dialplan" value="enum,XML"/>
From now on, you can also specify :param after each dialplan name to allow param
to be passed to the module. mod_dialplan_xml uses this param as a way to override
where it looks for the dialplan making it possible to stack mutiple calls to the XML dialplan.
e.g. <param name="dialplan" value="XML:/some/xml/file.xml,XML"/>
With this you can search the local file file.xml first and if there is still no match
the hunt will move on to the standard XML using the onboard XML registry and or the external
gateways.
*NOTE* this alternate path does not use the external bindings but it does parse the #includes etc.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4066 d0543943-73ff-0310-b7d9-9358b9ac24b2
mod_enum can be used as a dialplan app, an api call from the console or as a dialplan interface.
Dialplan Interface:
put enum as the dialplan parameter in an endpoint module
i.e. instead of "XML" set it to "enum" or "enum,XML" for fall through.
Dialplan App:
This example will do a lookup and set the a variable that is the proper
dialstring to call all of the possible routes in order of preference according to
the lookup and the order of the routes in the enum.conf section.
<extension name="tollfree">
<condition field="destination_number" expression="^(18(0{2}|8{2}|7{2}|6{2})\d{7})$">
<action application="enum" data="$1"/>
<action application="bridge" data="${enum_auto_route}"/>
</condition>
</extension>
You can also pick an alrernate root:
<action application="enum" data="$1 myroot.org"/>
API command:
at the console you can say:
enum <number> [<root>]
The root always defaults to the one in the enum.conf section.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3494 d0543943-73ff-0310-b7d9-9358b9ac24b2
This changes the core to have the necessary tools to create
a speech detection interface.
It also changes the code in javascript (mod_spidermonkey)
there are a few api changes in how it handles callbacks
It also adds grammars as a system dir to store asr grammars
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3291 d0543943-73ff-0310-b7d9-9358b9ac24b2
This modification makes it possible to change the media path of session in the switch on-the-fly and from the dialplan.
It adds some API interface calls usable from a remote client such as mod_event_socket or the test console.
1) media [off] <uuid>
Turns on/off the media on the call described by <uuid>
The media will be redirected as desiered either into the switch or point to point.
2) hold [off] <uuid>
Turns on/off endpoint specific hold state on the session described by <uuid>
3) broadcast <uuid> "<path>[ <timer_name>]" or "speak:<tts_engine>|<tts_voice>|<text>[|<timer_name>]" [both]
A message will be sent to the call described by uuid instructing it to play the file or speak the text indicated.
If the 'both' option is specified both ends of the call will hear the message otherwise just the uuid specified
will hear the message.
During playback when only one side is hearing the message the other end will hear silence.
If media is not flowing across the switch when the message is broadcasted, the media will be directed to the
switch for the duration of the call and then returned to it's previous state.
Also the no_media=true option in the dialplan before a bridge makes it possible to place a call while proxying the session
description from one endpoint to the other and establishing an immidiate point-to-point media connection with no media
on the switch.
<action application="set" data="no_media=true"/>
<action application="bridge" data="sofia/mydomain.com/myid@myhost.com"/>
*NOTE* when connecting two outbound legs by using the "originate" api command with an extension that has no_media=true enabled,
the media for the first leg will be engaged with the switch until the second leg has answered and the other session description
is available to establish a point to point connection at which time point-to-point mode will be enabled.
*NOTE* it is reccommended you rebuild FreeSWITCH with "make sure" as there have been some changes to the core.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3245 d0543943-73ff-0310-b7d9-9358b9ac24b2