On 06/16/2017 at 04:00 PM, Joshua Colp wrote:
> On Fri, Jun 16, 2017, at 10:49 AM, Michael Maier wrote:
>
> <snip>
>
>>
>> t38modem and asterisk are using
>>
>> m=image 35622 udptl t38
>> ^^^^^
>>
>> Provider uses
>>
>> m=image 35622 UDPTL t38
>> ^^^^^
>>
>> Could this be a problem? If I'm sending internal only, it's always
>> lowercase.
>
> Looking at the tests we have we only use 'udptl' as the transport.
> Without diving deep into the SDP negotiator it is possible that it gets
> upset at that, as we would only produce 'udptl'. If the SDP negotiator
> in PJSIP is case sensitive then you'd get a declined stream like you
> see. Looking at the T.38 examples from the ITU doc also shows it in
> lowercase, so uppercase is probably not commonly used.
I can proof, that UDPTL vs. udptl is the problem. After "fixing"
asterisk and opal both using UDPTL, the negotiation works flawlessly.
See attached patches.
Sending t38 faxes internally works fine. Externally via provider gets
stuck: the provider doesn't send back any t38-package to the client
(t38-packages are leaving asterisk towards the provider, but the
provider doesn't send back any package to the client :-().
Any idea what to change to get the provider to communicate?
(From the 200 Ok from the provider - nothing critical from my point of
view - these are the values I sent in the reinvite to the provider)
Connection Information (c): IN IP4 195.185.37.60
Time Description, active time (t): 0 0
Media Description, name and address (m): image 31410 UDPTL t38
Media Attribute (a): sendrecv
Media Attribute (a): T38FaxVersion:0
Media Attribute (a): T38MaxBitRate:14400
Media Attribute (a): T38FaxRateManagement:transferredTCF
Media Attribute (a): T38FaxMaxDatagram:397
Media Attribute (a): T38FaxUdpEC:t38UDPRedundancy
Thanks,
Michael
--- a/src/t38/t38proto.cxx 2013-02-20 03:18:46.000000000 +0100
+++ b/src/t38/t38proto.cxx 2017-06-17 06:08:19.447901812 +0200
@@ -470,7 +470,7 @@
};
-PFACTORY_CREATE(PFactory<RTP_Encoding>, T38PseudoRTP_Handler, "udptl", false);
+PFACTORY_CREATE(PFactory<RTP_Encoding>, T38PseudoRTP_Handler, "UDPTL", false);
/////////////////////////////////////////////////////////////////////////////
--- a/src/t38/sipt38.cxx 2013-02-20 03:18:46.000000000 +0100
+++ b/src/t38/sipt38.cxx 2017-06-17 06:09:08.687899689 +0200
@@ -82,7 +82,7 @@
PCaselessString SDPFaxMediaDescription::GetSDPTransportType() const
{
- return "udptl";
+ return "UDPTL";
}
SDPMediaDescription * SDPFaxMediaDescription::CreateEmpty() const
--- a/src/t38/t38mf.cxx 2013-02-20 03:18:46.000000000 +0100
+++ a/src/t38/t38mf.cxx 2017-06-17 06:07:51.499903017 +0200
@@ -92,7 +92,7 @@
PString OpalFaxMediaType::GetRTPEncoding() const
{
- return "udptl";
+ return "UDPTL";
}
--- a/res/res_pjsip_t38.c 2017-06-15 19:17:02.316000000 +0200
+++ b/res/res_pjsip_t38.c 2017-06-15 19:20:26.280000000 +0200
@@ -728,7 +730,7 @@
static const pj_str_t STR_IN = { "IN", 2 };
static const pj_str_t STR_IP4 = { "IP4", 3};
static const pj_str_t STR_IP6 = { "IP6", 3};
- static const pj_str_t STR_UDPTL = { "udptl", 5 };
+ static const pj_str_t STR_UDPTL = { "UDPTL", 5 };
static const pj_str_t STR_T38 = { "t38", 3 };
static const pj_str_t STR_TRANSFERREDTCF = { "transferredTCF", 14 };
static const pj_str_t STR_LOCALTCF = { "localTCF", 8 };
--
_____________________________________________________________________
-- Bandwidth and Colocation Provided by http://www.api-digital.com --
Check out the new Asterisk community forum at: https://community.asterisk.org/
New to Asterisk? Start here:
https://wiki.asterisk.org/wiki/display/AST/Getting+Started
asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
http://lists.digium.com/mailman/listinfo/asterisk-users