aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b>2009-07-24 15:06:52 +0000
committerkpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b>2009-07-24 15:06:52 +0000
commit8fd2eb0fa0a84a73d59770d3d7869d438f5f3d5c (patch)
tree036d21f5817a8e35d249c69b9003544fae32bc41
parent48fcb5c881bde77b2f6cb48a845f8a764ed3d1c4 (diff)
Merged revisions 208548 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk ........ r208548 | kpfleming | 2009-07-24 10:02:53 -0500 (Fri, 24 Jul 2009) | 8 lines Resolve a T.38 negotiation issue left over from the udptl-updates merge. The udptl-updates branch that was merged yesterday failed to properly send back T.38 SDP responses with the correct error correction mode, if the incoming SDP from the other end caused us to change error correction modes. This patch corrects that situation. ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.2@208551 f38db490-d61c-443f-a65b-d21fe96a405b
-rw-r--r--channels/chan_sip.c8
-rw-r--r--include/asterisk/udptl.h2
-rw-r--r--main/udptl.c2
3 files changed, 6 insertions, 6 deletions
diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index 7dddb1197..30374703d 100644
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -9666,13 +9666,13 @@ static enum sip_result add_sdp(struct sip_request *resp, struct sip_pvt *p, int
break;
}
ast_str_append(&a_modem, 0, "a=T38FaxMaxDatagram:%d\r\n", ast_udptl_get_local_max_datagram(p->udptl));
- switch (ast_test_flag(&p->flags[1], SIP_PAGE2_T38SUPPORT)) {
- case SIP_PAGE2_T38SUPPORT_UDPTL:
+ switch (ast_udptl_get_error_correction_scheme(p->udptl)) {
+ case UDPTL_ERROR_CORRECTION_NONE:
break;
- case SIP_PAGE2_T38SUPPORT_UDPTL_FEC:
+ case UDPTL_ERROR_CORRECTION_FEC:
ast_str_append(&a_modem, 0, "a=T38FaxUdpEC:t38UDPFEC\r\n");
break;
- case SIP_PAGE2_T38SUPPORT_UDPTL_REDUNDANCY:
+ case UDPTL_ERROR_CORRECTION_REDUNDANCY:
ast_str_append(&a_modem, 0, "a=T38FaxUdpEC:t38UDPRedundancy\r\n");
break;
}
diff --git a/include/asterisk/udptl.h b/include/asterisk/udptl.h
index 72b9af4aa..ec96f7249 100644
--- a/include/asterisk/udptl.h
+++ b/include/asterisk/udptl.h
@@ -87,7 +87,7 @@ void ast_udptl_set_m_type(struct ast_udptl *udptl, unsigned int pt);
void ast_udptl_set_udptlmap_type(struct ast_udptl *udptl, unsigned int pt,
char *mimeType, char *mimeSubtype);
-int ast_udptl_get_error_correction_scheme(const struct ast_udptl *udptl);
+enum ast_t38_ec_modes ast_udptl_get_error_correction_scheme(const struct ast_udptl *udptl);
void ast_udptl_set_error_correction_scheme(struct ast_udptl *udptl, enum ast_t38_ec_modes ec);
diff --git a/main/udptl.c b/main/udptl.c
index ae9d52f14..07c49d038 100644
--- a/main/udptl.c
+++ b/main/udptl.c
@@ -769,7 +769,7 @@ static void calculate_far_max_ifp(struct ast_udptl *udptl)
udptl->far_max_ifp = new_max * 0.75;
}
-int ast_udptl_get_error_correction_scheme(const struct ast_udptl *udptl)
+enum ast_t38_ec_modes ast_udptl_get_error_correction_scheme(const struct ast_udptl *udptl)
{
if (udptl)
return udptl->error_correction_scheme;