dect
/
asterisk
Archived
13
0
Fork 0

Reserving flags for coming code (currently in the "videocaps" branch)

implementing T.140 support in RTP.

T.140/RFC 4351 is TDD over IP - text telephony for hearing impaired.
It defines a realtime text chat, much like the old "talk" application
in Unix. 

T.140 is character by character in real time. It's not 
the same as our current MESSAGE format - that is more like IM, but
can be gatewayed to MESSAGE with a text "codec" if needed.

More patches will follow, as soon as we've separated this code from
the video capabilities functions in the videocaps branch.

Code by John Martin, Aupix (disclaimer on file)


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@48258 f38db490-d61c-443f-a65b-d21fe96a405b
This commit is contained in:
oej 2006-12-05 10:52:53 +00:00
parent 99dfd35cae
commit 1158861b78
3 changed files with 11 additions and 1 deletions

View File

@ -52,7 +52,7 @@ struct ast_codec_pref {
\arg \b VIDEO: Video data, subclass is codec (AST_FORMAT_*)
\arg \b DTMF: A DTMF digit, subclass is the digit
\arg \b IMAGE: Image transport, mostly used in IAX
\arg \b TEXT: Text messages
\arg \b TEXT: Text messages and character by character (real time text)
\arg \b HTML: URL's and web pages
\arg \b MODEM: Modulated data encodings, such as T.38 and V.150
\arg \b IAX: Private frame type for the IAX protocol
@ -261,6 +261,10 @@ extern struct ast_frame ast_null_frame;
/*! Maximum video format */
#define AST_FORMAT_MAX_VIDEO (1 << 24)
#define AST_FORMAT_VIDEO_MASK (((1 << 25)-1) & ~(AST_FORMAT_AUDIO_MASK))
/*! T.140 Text format - ITU T.140, RFC 4351*/
#define AST_FORMAT_T140 (1 << 25)
#define AST_FORMAT_MAX_TEXT (1 << 26)
#define AST_FORMAT_TEXT_MASK (((1 << 25)-1) & ~(AST_FORMAT_AUDIO_MASK))
enum ast_control_frame_type {
AST_CONTROL_HANGUP = 1, /*!< Other end has hungup */

View File

@ -130,6 +130,10 @@ static struct ast_format_list AST_FORMAT_LIST[] = { /*!< Bit number: comment
{ 0, 0, "nothing", "undefined" },
{ 0, 0, "nothing", "undefined" },
{ 0, AST_FORMAT_MAX_VIDEO, "maxvideo", "Maximum video format" },
{ 0, AST_FORMAT_T140, "t140", "Passthrough T.140 Realtime Text" },
{ 0, 0, "nothing", "undefined" },
{ 0, 0, "nothing", "undefined" },
{ 0, AST_FORMAT_MAX_TEXT, "maxtext", "Maximum text format" },
};
struct ast_frame ast_null_frame = { AST_FRAME_NULL, };

View File

@ -1408,6 +1408,7 @@ static struct {
{{1, AST_FORMAT_H263}, "video", "H263"},
{{1, AST_FORMAT_H263_PLUS}, "video", "h263-1998"},
{{1, AST_FORMAT_H264}, "video", "H264"},
{{1, AST_FORMAT_T140}, "text", "T140"},
};
/* Static (i.e., well-known) RTP payload types for our "AST_FORMAT..."s:
@ -1439,6 +1440,7 @@ static struct rtpPayloadType static_RTP_PT[MAX_RTP_PT] = {
[97] = {1, AST_FORMAT_ILBC},
[99] = {1, AST_FORMAT_H264},
[101] = {0, AST_RTP_DTMF},
[102] = {0, AST_FORMAT_T140}, /* Real time text chat */
[110] = {1, AST_FORMAT_SPEEX},
[111] = {1, AST_FORMAT_G726},
[112] = {1, AST_FORMAT_G726_AAL2},