diff --git a/Changes.txt b/Changes.txt index e4aea2c..63081a2 100644 --- a/Changes.txt +++ b/Changes.txt @@ -7,6 +7,35 @@ * */ +Changelog for t38modem 3.14.0 (Mar 3 2016) +--- Requires Opal 3.10.14 / Ptlib 2.10.14 +* Additional debug on SIP Registration. +* New option: --sip-retry-403-forbidden + UNIFY systems will respond 403 Forbidden when resetting to apply new + settings. RFC 3261 says this is a final answer and the request should + not be retried. UNIFY says that is the way they work and you have to + retry. This violates ithe RFC, but is needed to make UNIFY work. +* Added ability to use the all of the Fake Codecs: + G.722, G.722.1, G.722.2, G.726-40K, G.726-32K, G.726-24K, G.726-16K, + G.728, G.729, G.729A, G.729B, G.729A/B, G.723.1, G.723.1(5.3k), + G.723.1A(6.3k), G.723.1A(5.3k), GSM-06.10, GSM-AMR, iLBC + Specify with --fake-audio option and --sip-audio or --h323-audio options. + +Changelog for t38modem 3.13.0 (Aug 10 2015) +--- Requires Opal 3.10.13 / Ptlib 2.10.13 +* Opal 3.10.13 changed to fix Cisco CUBE bug where it starts with sequenc + number 32768 instead of the required 0 in UDPTL T.38 packets. +* Added missing DTMF method in SDP on Invite. Fixes some Alcatel systems. + +Changelog for t38modem 3.12.1 (Jan 31 2015) +--- Requires Opal 3.10.12 / Ptlib 2.10.12 +* New option: --force-fax-mode-delay + +Changelog for t38modem 3.12.0 (Jan 31 2015) +--- Requires Opal 3.10.12 / Ptlib 2.10.12 +* Supports G.711 Passthru mode with the addition of spandsp 0.0.6 plugin. +* Changed port numbers to work on Verszon network. We now use 10000-10999. + Changelog for t38modem 3.11.0 (Nov 12 2013) * Changes to work with Opal 3.10.11. diff --git a/opal/manager.cxx b/opal/manager.cxx index 57e65f9..7b2523a 100644 --- a/opal/manager.cxx +++ b/opal/manager.cxx @@ -281,8 +281,9 @@ PBoolean MyManager::Initialise(const PConfigArgs & args) We only support G.711 and T.38 internally, so make sure no other codecs get offered on outbound calls */ - static char const *FormatMask[] = { "!G.711*", "!@fax", "!UserInput/RFC2833", "!NamedSignalEvent" }; - SetMediaFormatMask(PStringArray(PARRAYSIZE(FormatMask), FormatMask)); + // Removing these two lines so we can support the Fake Codecs. + // static char const *FormatMask[] = { "!G.711*", "!@fax", "!UserInput/RFC2833", "!NamedSignalEvent" }; + // SetMediaFormatMask(PStringArray(PARRAYSIZE(FormatMask), FormatMask)); if (args.HasOption("route")) { SetRouteTable(args.GetOptionString("route").Tokenise("\r\n", FALSE)); diff --git a/opal/sipep.cxx b/opal/sipep.cxx index ba07308..23fca75 100644 --- a/opal/sipep.cxx +++ b/opal/sipep.cxx @@ -216,6 +216,7 @@ PString MySIPEndPoint::ArgSpec() "-sip-proxy:" "-sip-register:" "-sip-listen:" + "-sip-retry-403-forbidden." "-sip-no-listen." ; } @@ -254,6 +255,8 @@ PStringArray MySIPEndPoint::Descriptions() " : '*' is all interfaces (default tcp$*:5060 and\n" " : udp$*:5060).\n" " --sip-no-listen : Disable listen for incoming calls.\n" + " --sip-retry-403-forbidden : Enable retrying on 403 Forbidden responses. This violates\n" + " RFC 3261, but is needed by some SIP servers.\n" "\n" "SIP route options:\n" " OPAL-Enable-Audio=[!]wildcard[,[!]...]\n" @@ -337,6 +340,8 @@ void MySIPEndPoint::OnRegistrationStatus(const RegistrationStatus & status) PBoolean MySIPEndPoint::Initialise(const PConfigArgs & args) { + bool retry403; + if (args.HasOption("sip-audio")) { PStringStream s; @@ -398,6 +403,11 @@ PBoolean MySIPEndPoint::Initialise(const PConfigArgs & args) if (args.HasOption("sip-proxy")) SetProxy(args.GetOptionString("sip-proxy")); + if (args.HasOption("sip-retry-403-forbidden")) + retry403=true; + else + retry403=false; + if (args.HasOption("sip-register")) { PString r = args.GetOptionString("sip-register"); PStringArray regs = r.Tokenise("\r\n", FALSE); @@ -411,6 +421,8 @@ PBoolean MySIPEndPoint::Initialise(const PConfigArgs & args) SIPRegister::Params params; params.m_expire = 300; + + params.m_retry403 = retry403; PString user; PINDEX atLoc = prms[0].Find('@'); diff --git a/version.h b/version.h index 2dd7422..b73a48d 100644 --- a/version.h +++ b/version.h @@ -27,7 +27,7 @@ #define _T38M_VERSION_H #define MAJOR_VERSION 3 -#define MINOR_VERSION 13 +#define MINOR_VERSION 14 #define BUILD_TYPE ReleaseCode #define BUILD_NUMBER 0