diff options
author | kpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b> | 2009-11-30 21:59:06 +0000 |
---|---|---|
committer | kpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b> | 2009-11-30 21:59:06 +0000 |
commit | 2e31cf3bb126f670c99c2c860d0ca1a7aac67cc4 (patch) | |
tree | 4000cfbdfdd3478ed6c2aad65a7b78fab6862cd6 /include | |
parent | 98a20dedc5463f55a45c9b61e82ba2571658b8a3 (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.h | 19 |
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); |