Commit Graph

13158 Commits

Author SHA1 Message Date
Kapil 4c4a7b7486 adding MEGACO Media Descriptors prints 2012-07-17 16:12:54 -04:00
Kapil 6acde3a869 adding validation of megaco commands code and modification in handling ADD message 2012-07-17 13:07:32 -04:00
Mathieu Rene 84d56ee570 Merge branch 'nsg-4.3' of git.sangoma.com:smg_freeswitch into nsg-4.3 2012-07-17 10:17:34 -04:00
Mathieu Rene 36719e3017 comment out unused vars 2012-07-17 10:15:25 -04:00
Mathieu Rene 0ecd5678d1 Update the rtp endpoint so it gets a fixed configuration from var_event 2012-07-16 18:31:13 -04:00
Kapil 9a817c7aa2 service change code modification 2012-07-16 12:48:57 -04:00
Mathieu Rene d139a8ef63 fix compile part 2 2012-07-16 11:24:04 -04:00
Mathieu Rene 42cb846f39 fix compile part 2 2012-07-16 11:23:14 -04:00
Mathieu Rene 7381343e04 fix compile 2012-07-16 11:18:24 -04:00
Mathieu Rene 9e19550309 Merge branch 'nsg-4.3' of git.sangoma.com:smg_freeswitch into nsg-4.3 2012-07-05 09:32:06 -04:00
kapil 642b1a2e6d adding code for sending termination service change and respective CLI
command
2012-07-05 10:39:36 +05:30
Mathieu Rene e4cddad023 Merge branch 'nsg-4.3' of git.sangoma.com:smg_freeswitch into nsg-4.3 2012-07-04 14:46:30 -04:00
kapil de70e3c08c Merge branch 'nsg-4.3' of ssh://git.sangoma.com/smg_freeswitch into nsg-4.3 2012-07-04 21:57:19 +05:30
kapil 7db1cdefb9 Audit code commit 2012-07-04 21:52:44 +05:30
Mathieu Rene d797e89432 Merge branch 'nsg-4.3' of git.sangoma.com:smg_freeswitch into nsg-4.3 2012-07-04 10:51:42 -04:00
David Yat Sin 6aa728b8b3 Merge branch 'nsg-4.3' of ssh://git.sangoma.com/smg_freeswitch into nsg-4.3 2012-07-03 16:35:31 -04:00
David Yat Sin fff6a923fe Added freeradius-client 2012-07-03 16:35:06 -04:00
James Zhang c544ff4b81 sip: add receiver report to rtcp
- only one to one rtcp is supported for currently
     - jitter stats and loss stats are not real
2012-07-03 14:29:50 -04:00
Mathieu Rene 1d5f9f9f88 fix conflict 2012-07-03 12:28:13 -04:00
David Yat Sin a4c4155232 fixing modify mid issue 2012-07-03 11:48:37 -04:00
David Yat Sin 5ec258b388 adding subtract rsp code (got deleted by mistake) 2012-07-02 04:43:21 -04:00
kapil e2e3a5c34e fixing modify mid code 2012-07-02 09:55:36 +05:30
David Yat Sin f88f0a8899 fixing warnings 2012-07-02 00:19:29 -04:00
kapil 7eb163e74e adding dummy audit rsp api 2012-07-01 12:40:17 +05:30
kapil 9beec66fcd removing extra audit rsp api 2012-07-01 12:36:28 +05:30
kapil c6b5bc2bda adding AUDIT for root Packages response code,
adding media_gateway_cmd_handler.c for all commands related  logic/APIs.
adding media_gateway_packages.c to have list of all supported packages.
adding media_gateway_utils.c for all media gateway utility APIs
2012-07-01 12:13:18 +05:30
Mathieu Rene 92af41c0b3 Merge branch 'nsg-4.3' of git.sangoma.com:smg_freeswitch into nsg-4.3 2012-06-29 16:30:54 -04:00
Mathieu Rene 658ce0ba91 work out contexts, cleanup rtp endpoint in preparation for mg-based setup 2012-06-29 16:30:51 -04:00
kapil cd61d0b59e adding code to send error response back to MG stack,in case of any app
failure
2012-06-29 21:51:15 +05:30
kapil c82c11b02a adding code to send add response 2012-06-26 17:45:01 +05:30
kapil e777de3eef adding mg stack add command code and sendign dummy rsp of add 2012-06-26 13:05:23 +05:30
kapil b6737e31a3 adding command handler to handle command indication from megaco stack 2012-06-25 20:07:51 +05:30
kapil e3eed73ecb adding mg and peer profile cleanup code during shutdown and removing
"unused variables" warnings
2012-06-25 12:12:04 +05:30
Mathieu Rene fd634d6bc9 still figuring out lib 2012-06-22 19:10:08 -04:00
Mathieu Rene 294ab3880f fix conflict 2012-06-21 10:40:57 -04:00
kapil 97d89de3fc MEGACO over TCP support 2012-06-21 19:23:22 +05:30
kapil 3693867388 adding TCP transport support 2012-06-21 19:22:14 +05:30
kapil ca5b100d17 code commit for multiple peer cli command 2012-06-21 11:36:20 +05:30
David Yat Sin c18c32f800 Fix for compile warnings rtp.c 2012-06-20 22:43:54 -04:00
Mathieu Rene 79702bc0d2 start implementing command handlers 2012-06-20 21:34:04 -04:00
kapil 6a1229c8f9 fixing compilation error 2012-06-21 01:09:51 +05:30
Mathieu Rene 1720e4f072 Merge branch 'nsg-4.3' of git.sangoma.com:smg_freeswitch into nsg-4.3 2012-06-20 12:31:07 -04:00
Mathieu Rene 166249b0b9 Check in TDM and RTP controllable channels (incomplete) 2012-06-20 12:30:08 -04:00
Mathieu Rene badc31f927 Merge branch 'nsg-4.3' of git.sangoma.com:smg_freeswitch into nsg/4.3 2012-06-20 12:02:38 -04:00
Mathieu Rene eae74df4e6 change loglevels and enable debug 2012-06-20 12:02:10 -04:00
kapil 31d48a8c3a adding "<>" or "[]" from the code itself , instead of passing from
config xml for MID field
2012-06-20 12:01:04 +05:30
David Yat Sin 50e3e563da Updated conf 2012-06-20 00:38:05 -04:00
David Yat Sin dd4764bc19 Changed megaco.conf.xml to media_gateway.conf.xml 2012-06-20 00:35:10 -04:00
David Yat Sin ae17b90f68 Changed megaco commands to mg 2012-06-19 17:54:01 -04:00
David Yat Sin cb73fdf2f6 Added parsing for additional parameters for UI team to test their code 2012-06-19 17:30:03 -04:00
kapil 8846e1fea1 issue fix 2012-06-19 23:36:38 +05:30
kapil 743e91569e adding enable/disable MEGACO stack looging CLI command 2012-06-19 17:00:39 +05:30
David Yat Sin af39d4c9d2 missed one 2012-06-15 16:16:11 -04:00
David Yat Sin a47b4e756b Merge branch 'nsg-4.3' of git.sangoma.com:smg_freeswitch into nsg/4.3 2012-06-15 16:14:00 -04:00
David Yat Sin 07b260d18b Trying to re-use same Makefile as mod_rad_cdr 2012-06-15 16:17:01 -04:00
David Yat Sin 92b55af071 missing functions rename 2012-06-15 16:08:18 -04:00
David Yat Sin 6502e96f50 Fix for hard link for freeradius-client 2012-06-14 18:23:12 -04:00
David Yat Sin 8b017f6c01 Renamed mod_megaco to mod_media_gateway 2012-06-06 16:36:22 -04:00
David Yat Sin abc1e1e42b Revert "Renamed files from megaco* media_gateway*"
This reverts commit f49fb271da.
2012-06-06 16:24:36 -04:00
David Yat Sin f49fb271da Renamed files from megaco* media_gateway* 2012-06-06 16:21:22 -04:00
kapil 0fc6ccff7a adding "peerxmlstatus" CLI command to show the peer status for requested
profile
2012-06-06 18:03:07 +05:30
kapil ba051e1007 reorgnazing code , adding below two files
* megaco_cli.c 		- contains CLI commands APIs
   * megaco_stack_alarms.c      - contains Alarm indication APIs from Trillium MEGACO layer
2012-06-06 15:11:55 +05:30
kapil 293a65c9c0 updating final xml config file 2012-06-06 14:45:39 +05:30
kapil d535563abb modifying XML parsing / configuration code 2012-06-06 14:44:20 +05:30
kapil 67373e787d fixing ip address cli print 2012-06-04 22:48:12 +05:30
kapil d914d99abe fixing typo error 2012-06-04 17:29:07 +05:30
kapil cffe95a978 adding "xmlstatus" CLI command to dump MEGACO Stack data 2012-06-04 17:23:33 +05:30
kapil bac3b3bd36 adding status CLI command to fetch peer/sap/transport-server information from Trillium MEGACO stack. 2012-06-01 20:35:38 +05:30
David Yat Sin eb0404d025 Merge remote branch 'fsorig/master' into releases.3.5
Conflicts:
	build/modules.conf.in
	libs/freetdm/mod_freetdm/mod_freetdm.c
2012-05-31 13:57:42 -04:00
kapil a16ee36187 adding code to handle TUCL/MEGACO Status(Alarm) Indication from MEGACO
Stack
2012-05-31 20:20:51 +05:30
Anthony Minessale 693e04a7de FS-4250 please post a new log if this does not work 2012-05-31 09:04:14 -05:00
Ken Rice 5be9857af2 remove mod_fax. this has been deprecated for quite a while 2012-05-31 10:25:49 -05:00
Christopher Rienzo be2ec29282 Add Maintainer to mod_posix_timer, mod_unimrcp, mod_http_cache 2012-05-31 13:24:24 +00:00
kapil 529e7fd24a adding code to make "version" as configurable parameter 2012-05-31 18:36:10 +05:30
kapil a7ac272595 adding MEGACO Stack STOP/SHUTDOWN code 2012-05-31 17:31:06 +05:30
Giovanni Maruzzelli 07bc7ba763 gsmopen and skypopen: updated License headers 2012-05-31 07:41:14 +02:00
Jeff Lenk 39bad5b13e vs2010 reswig for last commit 2012-05-30 15:58:48 -05:00
Anthony Minessale 3e1d68b0a6 FS-4250 --resolve erase replaces header after using it 2012-05-30 13:08:31 -05:00
Anthony Minessale 192030c578 add metadata col to internal registrations table 2012-05-30 13:05:05 -05:00
Anthony Minessale 8bb55ed4bf abstract out originate_signal_bond to a function to avoid confustion and regressions 2012-05-29 13:10:15 -05:00
Anthony Minessale baf5bbd565 FS-4266 --resolve 2012-05-29 08:42:51 -05:00
Travis Cross c6b523c65f add inbound-zrtp-passthru to sample configs 2012-05-27 05:58:12 +00:00
Travis Cross 8513be49de enable inbound-late-negotiation in sample configs
We often tell people to enable this for various reasons; it likely
makes a sensible default.
2012-05-27 05:50:47 +00:00
Travis Cross 9b569ec875 cleanup and consolidate mod_sofia configuration example 2012-05-27 05:23:29 +00:00
Anthony Minessale 03b92c9ba1 FS-4251 --resolve just a silly oversight in the code specific to this use case, thanks 2012-05-25 11:02:56 -05:00
Marc Olivier Chouinard 09bef08b83 FS-4254 --resolve
I've changed the variable name from cc_export to cc_export_vars to be more consistant from the original patch
2012-05-25 13:45:02 -04:00
Marc Olivier Chouinard d7002351d7 mod_voicemail: Make sure vm_fsdb api create the user directory before trying to move file into it 2012-05-25 07:18:55 -04:00
Jeff Lenk b0e95fdad6 vs2010 reswig mod_managed 2012-05-24 16:03:56 -05:00
Anthony Minessale 9b6702da67 swigall 2012-05-24 13:53:23 -05:00
Anthony Minessale 9daf595443 swigall 2012-05-24 13:52:53 -05:00
Travis Cross 23f8967c32
add enhanced zrtp passthrough (zrtp passthru) mode
ZRTP passthrough mode allows two ZRTP-capable clients to negotiate an
end-to-end security association through FreeSWITCH.  The clients are
therefore able to be certain that the FreeSWITCH instance mediating
the call cannot eavesdrop on their conversation.

Importantly, this capability is maintained across multiple FreeSWITCH
hops.  If widely deployed, this enables a global network architecture
where two people can speak securely with strong cryptographically
protected authentication and confidentiality.

With this commit we implement a zrtp-passthru mode that handles all
the details of the negotiation intelligently.  This mode can be
selected by setting the boolean parameter inbound-zrtp-passthru in the
sofia profile.  This will also force late-negotiation as it is
essential for correctly negotiating an end-to-end ZRTP security
association.

When an incoming call with a zrtp-hash is received and this mode is
enabled, we find the first audio and the first video zrtp-hash in the
SDP and store them as remote values on this channel.  Once a b-leg is
available, we set the local zrtp-hash values on that channel to the
remote zrtp-hash values collected from the a-leg.

Because zrtp-passthru absolutely requires that the channels negotiate
the same codec, we offer to the b-leg only codecs that the a-leg can
speak.  Once the b-leg accepts a codec, we will force that choice onto
the a-leg.

If the b-leg sends us zrtp-hash values in the signaling, we store
those as remote values on the b-leg and copy them to the local values
on the a-leg.

At this point, each leg has the zrtp-hash values from the other, and
we know we can do ZRTP passthrough mode on the call.  We send the
b-leg's zrtp-hash back to the a-leg in the 200 OK.

We then enable UDPTL mode on the rtp streams for both the audio and
the video so that we don't interfere in the ZRTP negotiation.

If the b-leg fails to return a zrtp-hash in the signaling, we set up a
ZRTP security association with the a-leg ourselves, if we are so
equipped.  Likewise, if the a-leg fails to send a zrtp-hash in the
signaling, we attempt to set up a ZRTP security association ourselves
with the b-leg.

The zrtp-passthru mode can also be enabled in the dialplan by setting
the boolean channel variable zrtp_passthru.  If enabled in this
manner, we can't force late-negotiation, so the user would need to be
sure this is configured.

If ZRTP passthrough mode is not enabled in either manner, this change
should have no effect.

Channel variables for each of the various zrtp-hash values are set,
though it is anticipated that there is no good reason to use them, so
they may be removed without warning.  For checking whether zrtp
passthrough mode was successful, we provide the channel variable
zrtp_passthru_active which is set on both legs.

Though not implemented by this commit, the changes here should make it
more straightforward to add correct zrtp-hash values to the signaling
and verify that correct hello hash values are received when FreeSWITCH
is acting as a terminating leg of the ZRTP security association.

A historical note...

This commit replaces the recently-added sdp_zrtp_hash_string method,
commit 2ab1605a88.

This prior method sets a channel variable from the a-leg's zrtp-hash,
then relies on the dialplan to export this channel variable to the
b-leg, where it is put into the SDP.

While it was a great start and wonderful for testing, this approach
has some drawbacks that motivated the present work:

 * There's no good way to pass the zrtp-hash from the b-leg back to
   the a-leg.  In fact, the implementation seems to send the a-leg's
   zrtp-hash back to the originating client in the 200 OK.  This is
   not correct.

 * To support video, we'd need to have a separate dialplan variable,
   and the dialplan author would need to deal with that explicitly.

 * The API is problematic as it requires the dialplan author to
   understand intricate details of how ZRTP works to implement a
   correct dialplan.  Further, by providing too fine-grained control
   (but at the same time, not enough control) it would limit our
   ability to make the behavior smarter once people started relying on
   this.
2012-05-24 20:39:03 +00:00
Anthony Minessale 8c889aa3a7 add param for scgi to monitor its own server process 2012-05-24 13:07:46 -05:00
Anthony Minessale 1cfd145c17 add support for variable expander to recognize 717 vars as specificly globals 2012-05-24 13:07:26 -05:00
Anthony Minessale 2a257a56a2 default to forking system on non-windows 2012-05-24 13:06:32 -05:00
Travis Cross 343bdec239 remove .vcxproj.user file in tree 2012-05-24 08:04:49 +00:00
Travis Cross f37b1f0c54 squelch another source of noise ZRTP protection drops 2012-05-24 03:59:09 +00:00
Travis Cross d470ae239c don't log ZRTP protection drops
At least until we can distinguish the meaningful ones from the noise.
2012-05-24 03:52:51 +00:00
Travis Cross 236b927780 lower log level on ZRTP protection drop
When a call is being setup, a couple seconds of audio may be sent
unencrypted.  This seems to trigger the log message here with every
such packet.
2012-05-24 03:50:42 +00:00
Travis Cross 0c1a95f745 fix gcc 4.7.0 warning related to enum type
This amends commit 7bd9efc7f5.

We changed away from using unsigned here because it caused a warning
on Windows.  Using the more specific type, however, is causing a
warning on gcc-4.7 (it notices that the switch statement contains
values not present in the specified enum type).  So we're switching
back to unsigned here while keeping the type casts and hoping that
keeps Windows happy.
2012-05-24 00:48:59 +00:00
Travis Cross 16cf43a68d fix indentation; whitespace 2012-05-23 23:46:21 +00:00
Travis Cross cb58e81c17 add editor variables to mod_sofia.h 2012-05-23 23:44:44 +00:00
Anthony Minessale 6df4d7cdc5 FS-4245 --resolve 2012-05-23 13:13:32 -05:00
Anthony Minessale 0a70ea3e09 scgi updates 2012-05-23 13:12:32 -05:00
Mathieu Rene a5cd951c53 Update the outgoing channel handler so it passes the "var_event" event down towards rtmp_send_incoming_call since variables passed using originate are not yet in the session before the outgoing channel function returns. 2012-05-22 14:00:39 -04:00
Anthony Minessale fb790bc320 block any inbound messages when queue is full; add debounce for mwi and pres on register; fix missing detach attr on new mode to process reg in new thread 2012-05-22 10:27:23 -05:00
Anthony Minessale a672c99a57 FS-4224 --resolve this was a regression from d6374535 to fix FS-3029, when you find a profile you must release it 2012-05-22 07:59:21 -05:00
Anthony Minessale 792b004f36 add mwi-use-reg-callid 2012-05-21 13:55:50 -05:00
Anthony Minessale b3b2c37526 FS-3983 --resolve 2012-05-18 13:41:16 -05:00
Anthony Minessale bcd7a16290 indent 2012-05-18 10:15:08 -05:00
Jeff Lenk e32b90306e build warnings 2012-05-18 11:08:15 -05:00
Anthony Minessale 718a311a41 FS-4224 --resolve add optional wait param to sofia profile stop [sofia profile foo stop wait] 2012-05-18 07:52:58 -05:00
kapil c36b5f0cca fixing megaco conf xml error 2012-05-18 13:46:50 +05:30
Anthony Minessale bbdcd33bde performance tweaks for sip message parsing and event system 2012-05-17 20:10:53 -05:00
Anthony Minessale b117a65c50 put a little contention in the reg in new thread feature to prevent endless pileup 2012-05-17 19:57:02 -05:00
Anthony Minessale ad7149bfa6 allow mod loopback bowout to reach out across stacked loopback bridges and remove all of them 2012-05-17 18:57:22 -05:00
Travis Cross 83e090c30d add some casts to make things work with both gcc and VS
This amends commit 7bd9efc7f5.

Using the more explicit typedef causes gcc to warn about the
incompatible types for the reasons noted in the earlier commit
message.  This is why we just used the unsigned type earlier so we
could avoid all this casting.

The things we do to make Windows happy...
2012-05-17 16:40:30 +00:00
Anthony Minessale 92eb698ddc FS-4231 --resolve declinatio mortuus obfirmo! 2012-05-17 11:27:57 -05:00
Jeff Lenk 021f48d02e FS-4169 --resolve compiler warning for solaris 2012-05-17 10:28:51 -05:00
Jeff Lenk b65c321193 FS-4228 --resolve add zrtp support to windows vs2010 build 2012-05-17 08:38:11 -05:00
kapil df76709e95 Adding code to bring up MEGACO stack 2012-05-17 16:14:05 +05:30
Travis Cross d5484651ce squelch a Windows VS warning about null termination on the ZID
According Jeff Lenk, Windows Visual Studio doesn't understand that
people use the char type for non-null-terminated byte arrays, so it
throws a warning about this that causes the build to fail on Windows.

As the initial value for the ZID doesn't really matter here one iota,
just null-terminate it on Windows.
2012-05-17 06:13:32 +00:00
Travis Cross fdc9e7f8b6 work around libzrtp API mistake for VS
libzrtp's sas_is_verified field is a uint32_t, but zrtp_verified_set
expects a uint8_t.  This is a boolean field, so it doesn't matter one
way or the other.  gcc doesn't care, but Windows Visual Studio
apparently throws a warning about this.
2012-05-17 05:40:57 +00:00
Travis Cross 7bd9efc7f5 use the typedef for an enum rather than unsigned
The callback here receives both zrtp_protocol_event_t and
zrtp_security_event_t events.  The latter is numbered contiguously to
the former.  Still, it's a bit confusing to have to pick one as a
type, but apparently this fixes a warning on Visual Studio on Windows.

Thanks to Jeff Lenk.
2012-05-16 21:26:50 +00:00
Travis Cross 31e0e17d6b make some ZRTP-related integer casts explicit
...to satisfy Windows Visual Studio.  Thanks to Jeff Lenk.
2012-05-16 21:05:41 +00:00
Mahdi Moradi 4e4b4444d2 Microsoft visual studio project files. 2012-05-16 20:35:15 +04:30
Mahdi Moradi 18ee7ce3d0 First upload. 2012-05-16 20:10:13 +04:30
kapil 32c5100e62 Adding megaco stack configuration code and "megaco.conf.xml" 2012-05-16 18:36:26 +05:30
Travis Cross 0709cc6f1b make log message relevant even if FS doesn't have ZRTP 2012-05-16 02:50:13 +00:00
Travis Cross 7e193ed382 Revert "disable these options if zrtp isn't enabled"
Brian and I talked about this and concurred on the reversion here.
Part of the point of the ZRTP pass-through mode code is that it allows
two legs to have a ZRTP-enabled call even if FS doesn't have ZRTP.

This reverts commit f0aa4ab390.
2012-05-16 02:41:24 +00:00
Brian West f0aa4ab390 disable these options if zrtp isn't enabled. 2012-05-15 21:05:04 -05:00
Mathieu Rene f3fe2232f3 Remove stuff that should've been gitignored 2012-05-15 19:52:57 -04:00
Mathieu Rene bb875ce6ff mod_megaco: add sample config file and refuse to start a profile without a configuration 2012-05-15 19:45:36 -04:00
Mathieu Rene 6a32e98c49 Add mod_megaco skeleton with basic profile support and a lot of todos for Kapil 2012-05-15 19:37:41 -04:00
Anthony Minessale da9aacc62e FS-4217 --resolve 2012-05-15 08:48:08 -05:00
Anthony Minessale 5c75d4cf5b FS-4220 --resolve i refactored this into a general cross platform function and use it everywhere else we try to set affinity 2012-05-15 08:31:42 -05:00
Anthony Minessale 0a5a057c46 add inbound-reg-in-new-thread sofia param to launch a new thread to process each new inbound register when using heavier backends 2012-05-14 17:51:15 -05:00
Anthony Minessale 1eae27942e addition to 5b3b77071b 2012-05-14 13:07:40 -05:00
Anthony Minessale 4670a770cf fix sofia interaction with presence api command 2012-05-14 11:06:36 -05:00
Anthony Minessale 5b3b77071b make sure bargers use the same codec as bargee to avoid transcoding delay 2012-05-14 10:03:35 -05:00
Anthony Minessale e7b4821844 clean up forking code in example 2012-05-14 07:13:26 -05:00
Anthony Minessale 172e4a3041 FS-4183 here is a start, it still needs some work but here are the basic components, initially I am using the algorithim we use to generate artifical silence (static) and using one of those values to sleep a certian number of microseconds plus the cumulative bytes of events but i bet there is still some predictability in there so it needs some more 2012-05-14 06:58:41 -05:00
Giovanni Maruzzelli 44fd0de8ff gsmopen: indented 2012-05-14 02:04:36 +02:00
Giovanni Maruzzelli 8a1508d669 gsmopen: correctly receives SMSs in GSM7 and UCS2 2012-05-14 02:04:36 +02:00
Giovanni Maruzzelli eb93a14eb3 gsmopen: correctly sends SMSs in GSM7 or UCS2. Let's check SMS receiving 2012-05-14 02:04:36 +02:00
Giovanni Maruzzelli 4101e6b2b7 gsmopen: mod_sms tweak 2012-05-14 02:04:36 +02:00
Anthony Minessale 0b43b32b42 Wrong week to quit sniffing glue 2012-05-11 13:34:42 -05:00
Anthony Minessale dd1ae3307c another tweak 2012-05-11 13:12:44 -05:00
Anthony Minessale bbd9aa237e another tweak 2012-05-11 13:06:35 -05:00
Anthony Minessale afdfb9a6e1 fix missed error condition 2012-05-11 12:46:32 -05:00
Anthony Minessale f3b1809a63 tweak to standby mode 2012-05-11 10:20:45 -05:00