aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorkpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b>2009-11-30 21:59:06 +0000
committerkpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b>2009-11-30 21:59:06 +0000
commit2e31cf3bb126f670c99c2c860d0ca1a7aac67cc4 (patch)
tree4000cfbdfdd3478ed6c2aad65a7b78fab6862cd6 /include
parent98a20dedc5463f55a45c9b61e82ba2571658b8a3 (diff)
Merged revisions 231692 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk ........ r231692 | kpfleming | 2009-11-30 15:47:42 -0600 (Mon, 30 Nov 2009) | 22 lines Another round of UDPTL stack fixes/improvements: 1) Allow users of UDPTL stack to associate a character-string tag with a UDPTL session, so that log/error/debug messages generated by the UDPTL stack can be 'connected' to the endpoint that caused them to be generated. 2) Improve comments (and process) of calculating the far end's maximum IFP size when redundancy mode is in use for error correction. 3) When an IFP larger than the calculated 'far max IFP' size is presented for writing, truncate it rather than putting in the buffer and allowing the buffer to overflow; this will cause the ends to retrain to a lower bit rate that produces IFPs of an appropriate size if possible, and if not possible, the FAX transfer will fail completely. In these cases, it is due to the one endpoint supplying a T38FaxMaxDatagram value that is improperly calculated and is too low to be of use; we have configuration options available to override this behavior. 4) Eliminate use of T38FaxMaxDatagram value in udptl.conf; it is no longer needed. ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.2@231696 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'include')
-rw-r--r--include/asterisk/udptl.h19
1 files changed, 17 insertions, 2 deletions
diff --git a/include/asterisk/udptl.h b/include/asterisk/udptl.h
index ec96f7249..71d60ed61 100644
--- a/include/asterisk/udptl.h
+++ b/include/asterisk/udptl.h
@@ -60,6 +60,21 @@ struct ast_udptl *ast_udptl_new(struct sched_context *sched, struct io_context *
struct ast_udptl *ast_udptl_new_with_bindaddr(struct sched_context *sched, struct io_context *io, int callbackmode, struct in_addr in);
+/*!
+ * \brief Associates a character string 'tag' with a UDPTL session.
+ * \param udptl The UDPTL session.
+ * \param format printf-style format string used to construct the tag
+ *
+ * This function formats a tag for the specified UDPTL
+ * session, so that any log messages generated by the UDPTL stack
+ * related to that session will include the tag and the reader of
+ * the messages will be able to identify which endpoint caused them
+ * to be generated.
+ *
+ * \retval none
+ */
+void __attribute__((format(printf, 2, 3))) ast_udptl_set_tag(struct ast_udptl *udptl, const char *format, ...);
+
void ast_udptl_set_peer(struct ast_udptl *udptl, const struct sockaddr_in *them);
void ast_udptl_get_peer(const struct ast_udptl *udptl, struct sockaddr_in *them);
@@ -93,13 +108,13 @@ void ast_udptl_set_error_correction_scheme(struct ast_udptl *udptl, enum ast_t38
void ast_udptl_set_local_max_ifp(struct ast_udptl *udptl, unsigned int max_ifp);
-unsigned int ast_udptl_get_local_max_datagram(const struct ast_udptl *udptl);
+unsigned int ast_udptl_get_local_max_datagram(struct ast_udptl *udptl);
void ast_udptl_set_far_max_datagram(struct ast_udptl *udptl, unsigned int max_datagram);
unsigned int ast_udptl_get_far_max_datagram(const struct ast_udptl *udptl);
-unsigned int ast_udptl_get_far_max_ifp(const struct ast_udptl *udptl);
+unsigned int ast_udptl_get_far_max_ifp(struct ast_udptl *udptl);
void ast_udptl_setnat(struct ast_udptl *udptl, int nat);