87 Commits

Author SHA1 Message Date
Anthony Minessale
713afbd975 add some logic tools
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@6189 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-11-08 23:46:26 +00:00
Michael Jerris
622a2733dc use more correct const char * for things that should not be modified. This should also fix the switch_cpp.cpp changes from MODAPP-44. More patches to follow up on this for a few more modules that will likely break with this commit.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@6120 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-11-01 11:28:26 +00:00
Anthony Minessale
049d952d4e fix path bs
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@6105 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-10-31 19:59:40 +00:00
Anthony Minessale
b099f96e4e format
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@5925 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-10-17 14:59:17 +00:00
Anthony Minessale
b50e8f5c9a add switch_stristr and use it in dptools
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@5887 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-10-16 14:24:02 +00:00
Anthony Minessale
0a980a4ff9 minor adj
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@5851 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-10-12 17:12:31 +00:00
Anthony Minessale
7962945c39 make encoding optional none, base64 or url encoding
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@5823 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-10-06 00:30:04 +00:00
Anthony Minessale
5e6093a323 stupidly forgot to include linefeed and carraige return in ok chars for vars thus breaking bypass_media mode for who knows how long...
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@5563 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-08-03 16:26:32 +00:00
Michael Jerris
61dcfa5113 indentation.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@5280 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-06-07 17:02:59 +00:00
Anthony Minessale
5207780942 update
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@5268 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-06-05 16:52:50 +00:00
Anthony Minessale
0e3b4cada3 update
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@5267 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-06-05 16:50:51 +00:00
Anthony Minessale
b7c178f2d5 add util
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@5265 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-06-05 16:21:30 +00:00
Anthony Minessale
0d6cf384c1 small fix and new macro
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@5260 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-06-05 15:39:56 +00:00
Michael Jerris
a4ff7e88da adding const qualifiers across the api as appropriate.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@5165 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-05-12 14:48:14 +00:00
Anthony Minessale
ab34a26079 make crash protection a runtime option instead of a compile-time option
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@5123 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-05-10 16:56:29 +00:00
Anthony Minessale
7e979e7649 dox
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4901 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-04-09 18:42:40 +00:00
Anthony Minessale
5e23936fa6 cleanup
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4807 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-03-30 16:41:12 +00:00
Anthony Minessale
33efc5eeb5 tweaks
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4805 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-03-30 14:57:06 +00:00
Anthony Minessale
c15d7892c0 indent again
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4799 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-03-30 00:15:25 +00:00
Anthony Minessale
debdfb1aab indent
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4798 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-03-30 00:13:31 +00:00
Anthony Minessale
3a54126261 spring cleaning
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4795 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-03-29 22:31:56 +00:00
Michael Jerris
a021945cef switch_malloc and switch_zmalloc macros that are fatal if malloc fails both in debug and release modes, switch_zmalloc includes a companion memset for the malloc'd block.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4794 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-03-29 17:37:42 +00:00
Brian West
9263ef1f72 add url syntax for playback
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4501 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-03-10 02:36:55 +00:00
Michael Jerris
42e78242a3 add wrapper code to fully encapsulate apr, apr-utils, pcre, and sqlite. fully use switch_ namespace in modules, create our own format and type defines. follow up commit for unix autotools coming soon after this. PLEASE NOTE: you will NEED to do a make megaclean and run configure again after this update (and the following commit) or it will not build.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4494 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-03-09 20:44:13 +00:00
Anthony Minessale
54d483c4f5 fix fatal include
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4471 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-03-07 22:17:02 +00:00
Michael Jerris
ceafc84ca0 constify some arguments to switch_console_printf and switch_cut_path and remove improper casts for the consumers of those functions.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4241 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-02-13 21:03:06 +00:00
Michael Jerris
62a44e621f some more protection from passing around and printing null values, we are now initializing null's passed to switch_caller_profile_new as blank strings in the caller profile, if your using any caller profile values in if's, please use !switch_strlen_zero() in your check.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4203 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-02-12 18:13:14 +00:00
Michael Jerris
f359f847f7 fix magic emacs and vi formatting comments in the bottom of our source files to use tabs instead of spaces
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4176 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-02-09 02:36:03 +00:00
Michael Jerris
58310a9272 make sofia set network_addr as the address the packet was actually received from, not the address from the uri.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4169 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-02-08 20:16:08 +00:00
Brian West
46b850273c Small buglet.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4158 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-02-08 01:19:35 +00:00
Anthony Minessale
25b1d12b9e add w and W
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4157 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-02-08 00:17:22 +00:00
Anthony Minessale
b42e387938 yes virginia, sip has shortcommings
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4138 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-02-06 19:15:26 +00:00
Michael Jerris
5ca7037a84 tweak macro for clean build on msvc.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4110 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-02-03 04:08:05 +00:00
Anthony Minessale
82db5e0112 fix sample calc
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4108 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-02-02 20:28:34 +00:00
Anthony Minessale
0ed9ebe492 CODEC TWEAK
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
2007-01-28 17:37:51 +00:00
Anthony Minessale
85dab893d9 A few changes:
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
2007-01-27 16:23:33 +00:00
Michael Jerris
465456e3ee doxygen
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4006 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-01-19 22:47:51 +00:00
Anthony Minessale
c845cf2839 auto ip stuff
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4000 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-01-19 19:11:44 +00:00
Anthony Minessale
e37559eb0e update conference to add lock sounds, sound prefix, and use say: syntax
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3943 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-01-11 18:14:02 +00:00
Anthony Minessale
6a2529748a some changes from mmurdock
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3899 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-01-03 00:21:17 +00:00
Anthony Minessale
60434decf5 ENUM Support
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
2006-11-30 21:28:32 +00:00
Michael Jerris
44649c70b4 Add magic comments for emacs and vi in source and header files to properly format and display tabs vs. spaces in those editors:
/* For Emacs:
 * Local Variables:
 * mode:c
 * indent-tabs-mode:nil
 * tab-width:4
 * c-basic-offset:4
 * End:
 * For VIM:
 * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
 */


git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3462 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-11-27 22:30:48 +00:00
Anthony Minessale
f8d3093f5c hack to fix udp sockets
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3377 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-11-15 03:17:28 +00:00
Anthony Minessale
bc7a378c4e Modify Originate input syntax
This adds the | to the originate syntax 
making it possible to put a list of urls to call and attempt
to call them one at a time until one of them is successful or there
are none of them left

The original & delimited list is valid for each step in the | separated
list

Example
sofia/test-int/3920@10.3.3.104|sofia/test-int/3910@10.3.3.104&sofia/test-int/3920@10.3.3.104

first call 1 location and if that results in a failure, try 2 at once on the next go



git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2996 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-10-07 22:19:24 +00:00
Anthony Minessale
0d23976f2a Insane amounts of yucky satanic code to make transfer and that kind of thing work.
Transfers work better when both legs of the call live in thier own channel eg bridged calls
A -> B where you want a to make B -> C

when you route a call to an IVR or playback app you are not really bridging you have
A all alone executing the script so it's hard to transfer that.

I do have it aparently working but it's goofy and you are better off
putting your IVR on it's own switch so they are all inbound calls
then you have A -> B -> IVR
now A can happily transfer B who can stay on line with IVR without stopping
the execution.  You can also accomplish this by calling in a loop back to the same box
if you dont want to have 2 boxes.


Also the beginning effort at bridging calls with no media is here
set this magic variable in your dialplan to convince mod_sofia
to pass A's sdp as it's own to B and return B's sdp back to A on 200 or 183

<action application="set" data="no_media=true"/>
<action application="bridge" data="sofia/id@host.com"/>

You will need a new sofia tarball for this version


There is a bunch of other odds and ends added like a function or 2 etc
Oh,

And don't be suprised if it introduces all kinds of bugs!



git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2992 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-10-06 22:39:49 +00:00
Michael Jerris
849822f64e add switch_yield for windows
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2729 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-09-17 22:40:19 +00:00
Michael Jerris
fa4a1c4317 tweak softimer to not int type truncate microsecond interval time.c
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2728 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-09-17 22:13:51 +00:00
Anthony Minessale
1386d84694 use usleep when possible, ./configure && make sure when you update
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2722 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-09-17 18:44:53 +00:00
Anthony Minessale
b3c437630f use steve's g711 (thanks steve), chage the conditional mutex based on paul T's input (thanks paul) and take the yield away on switch_yield and just sleep
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2663 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-09-12 17:17:02 +00:00
Anthony Minessale
ae9d56e288 Adding bugs to the core
This is the primary commit to add bugs to the core (media bugs that is)
Media bugs are kind of like what ChanSpy is in Asterisk only cooler (I wrote ChanSpy too so I can say that)

Here is an example of using them to record a call by the higher level switch_ivr functionality passed
up to the dialplan via mod_playback.

The call will be recorded while the some.wav plays then stop for the rest of the call (when some_other.wav plays)

The bugs may have bugs since this is 1 day's work so happy hunting ......

<extension name="42">
  <condition field="destination_number" expression="^42$">
   <action application="set" data="RECORD_TITLE=recording test"/>
   <action application="set" data="RECORD_ARTIST=FreeSWITCH"/>
    <action application="record_session" data="/tmp/rtest.wav"/>
    <action application="playback" data="/tmp/some.wav"/>
    <action application="stop_record_session" data="/tmp/rtest.wav"/>
    <action application="playback" data="/tmp/some_other.wav"/>
  </condition>
</extension>



git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2588 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-09-09 03:39:28 +00:00