📄 ortp-telephone-events-(rfc2833)-.html
字号:
<HTML><HEAD><TITLE>Telephone events (RFC2833)</TITLE><METANAME="GENERATOR"CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+"><LINKREL="HOME"TITLE="oRTP Reference Manual"HREF="book1.html"><LINKREL="UP"TITLE="oRTP API"HREF="ortpapi.html"><LINKREL="PREVIOUS"TITLE="Multiplexing sessions (in a one thread design)"HREF="ortp-multiplexing-sessions-(in-a-one-thread-design).html"></HEAD><BODYCLASS="REFENTRY"BGCOLOR="#FFFFFF"TEXT="#000000"LINK="#0000FF"VLINK="#840084"ALINK="#0000FF"><DIVCLASS="NAVHEADER"><TABLEWIDTH="100%"BORDER="0"BGCOLOR="#000000"CELLPADDING="1"CELLSPACING="0"><TR><THCOLSPAN="4"ALIGN="center"><FONTCOLOR="#FFFFFF"SIZE="5">oRTP Reference Manual</FONT></TH></TR><TR><TDWIDTH="25%"BGCOLOR="#C00000"ALIGN="left"><AHREF="ortp-multiplexing-sessions-(in-a-one-thread-design).html"><FONTCOLOR="#FFFFFF"SIZE="3"><B><<< Previous Page</B></FONT></A></TD><TDWIDTH="25%"BGCOLOR="#0000C0"ALIGN="center"><FONTCOLOR="#FFFFFF"SIZE="3"><B><AHREF="book1.html"><FONTCOLOR="#FFFFFF"SIZE="3"><B>Home</B></FONT></A></B></FONT></TD><TDWIDTH="25%"BGCOLOR="#00C000"ALIGN="center"><FONTCOLOR="#FFFFFF"SIZE="3"><B><AHREF="ortpapi.html"><FONTCOLOR="#FFFFFF"SIZE="3"><B>Up</B></FONT></A></B></FONT></TD><TDWIDTH="25%"BGCOLOR="#C00000"ALIGN="right"> </TD></TR></TABLE></DIV><H1><ANAME="ORTP-TELEPHONE-EVENTS-(RFC2833)-">Telephone events (RFC2833)</H1><DIVCLASS="REFNAMEDIV"><ANAME="AEN1009"></A><H2>Name</H2>Telephone events (RFC2833) -- </DIV><DIVCLASS="REFSYNOPSISDIV"><ANAME="AEN1012"><H2>Synopsis</H2><TABLEBORDER="0"BGCOLOR="#D6E8FF"WIDTH="100%"CELLPADDING="6"><TR><TD><PRECLASS="SYNOPSIS"> #include <telephonyevents.h>struct <AHREF="ortp-telephone-events-(rfc2833)-.html#TELEPHONE-EVENT">telephone_event</A>;gint <AHREF="ortp-telephone-events-(rfc2833)-.html#RTP-SESSION-TELEPHONE-EVENTS-SUPPORTED">rtp_session_telephone_events_supported</A> (<AHREF="ortp-rtpsession-api.html#RTPSESSION">RtpSession</A> *session);mblk_t* <AHREF="ortp-telephone-events-(rfc2833)-.html#RTP-SESSION-CREATE-TELEPHONE-EVENT-PACKET">rtp_session_create_telephone_event_packet</A> (<AHREF="ortp-rtpsession-api.html#RTPSESSION">RtpSession</A> *session, int start);gint <AHREF="ortp-telephone-events-(rfc2833)-.html#RTP-SESSION-ADD-TELEPHONE-EVENT">rtp_session_add_telephone_event</A> (<AHREF="ortp-rtpsession-api.html#RTPSESSION">RtpSession</A> *session, mblk_t *packet, guchar event, gint end, guchar volume, guint16 duration);gint <AHREF="ortp-telephone-events-(rfc2833)-.html#RTP-SESSION-READ-TELEPHONE-EVENT">rtp_session_read_telephone_event</A> (<AHREF="ortp-rtpsession-api.html#RTPSESSION">RtpSession</A> *session, mblk_t *packet, telephone_event_t **tab);gint <AHREF="ortp-telephone-events-(rfc2833)-.html#RTP-SESSION-SEND-DTMF">rtp_session_send_dtmf</A> (<AHREF="ortp-rtpsession-api.html#RTPSESSION">RtpSession</A> *session, gchar dtmf, guint32 userts);</PRE></TD></TR></TABLE></DIV><DIVCLASS="REFSECT1"><ANAME="AEN1040"></A><H2>Description</H2><P></P></DIV><DIVCLASS="REFSECT1"><ANAME="AEN1043"></A><H2>Details</H2><DIVCLASS="REFSECT2"><ANAME="AEN1045"></A><H3><ANAME="TELEPHONE-EVENT"></A>struct telephone_event</H3><TABLEBORDER="0"BGCOLOR="#D6E8FF"WIDTH="100%"CELLPADDING="6"><TR><TD><PRECLASS="PROGRAMLISTING">struct telephone_event{#ifdef WORDS_BIGENDIAN guchar event; guchar E:1; guchar R:1; guchar volume:6; guint16 duration;#else guint16 duration; guchar R:1; guchar E:1; guchar volume:6; guchar event;#endif};</PRE></TD></TR></TABLE><P></P></DIV><HR><DIVCLASS="REFSECT2"><ANAME="AEN1050"></A><H3><ANAME="RTP-SESSION-TELEPHONE-EVENTS-SUPPORTED"></A>rtp_session_telephone_events_supported ()</H3><TABLEBORDER="0"BGCOLOR="#D6E8FF"WIDTH="100%"CELLPADDING="6"><TR><TD><PRECLASS="PROGRAMLISTING">gint rtp_session_telephone_events_supported (<AHREF="ortp-rtpsession-api.html#RTPSESSION">RtpSession</A> *session);</PRE></TD></TR></TABLE><P>Tells whether telephony events payload type is supported within the context of the rtpsession.</P><P></P><DIVCLASS="INFORMALTABLE"><ANAME="AEN1058"><P></P><TABLEBORDER="0"WIDTH="100%"BGCOLOR="#FFD0D0"CELLSPACING="0"CELLPADDING="4"CLASS="CALSTABLE"><TBODY><TR><TDWIDTH="20%"ALIGN="RIGHT"VALIGN="TOP"><TTCLASS="PARAMETER"><I>session</I></TT> :</TD><TDWIDTH="80%"ALIGN="LEFT"VALIGN="TOP"> a rtp session </TD></TR><TR><TDWIDTH="20%"ALIGN="RIGHT"VALIGN="TOP"><SPANCLASS="emphasis"><ICLASS="EMPHASIS">Returns</I></SPAN> :</TD><TDWIDTH="80%"ALIGN="LEFT"VALIGN="TOP"> the payload type number used for telephony events if found, -1 if not found.</TD></TR></TBODY></TABLE><P></P></DIV></DIV><HR><DIVCLASS="REFSECT2"><ANAME="AEN1071"></A><H3><ANAME="RTP-SESSION-CREATE-TELEPHONE-EVENT-PACKET"></A>rtp_session_create_telephone_event_packet ()</H3><TABLEBORDER="0"BGCOLOR="#D6E8FF"WIDTH="100%"CELLPADDING="6"><TR><TD><PRECLASS="PROGRAMLISTING">mblk_t* rtp_session_create_telephone_event_packet (<AHREF="ortp-rtpsession-api.html#RTPSESSION">RtpSession</A> *session, int start);</PRE></TD></TR></TABLE><P>Allocates a new rtp packet to be used to add named telephony events. The application can usethen <AHREF="ortp-telephone-events-(rfc2833)-.html#RTP-SESSION-ADD-TELEPHONE-EVENT">rtp_session_add_telephone_event</A>() to add named events to the packet.Finally the packet has to be sent with <AHREF="ortp-rtpsession-api.html#RTP-SESSION-SENDM-WITH-TS">rtp_session_sendm_with_ts</A>().</P><P></P><DIVCLASS="INFORMALTABLE"><ANAME="AEN1081"><P></P><TABLEBORDER="0"WIDTH="100%"BGCOLOR="#FFD0D0"CELLSPACING="0"CELLPADDING="4"CLASS="CALSTABLE"><TBODY><TR><TDWIDTH="20%"ALIGN="RIGHT"VALIGN="TOP"><TTCLASS="PARAMETER"><I>session</I></TT> :</TD><TDWIDTH="80%"ALIGN="LEFT"VALIGN="TOP"> a rtp session.</TD></TR><TR><TDWIDTH="20%"ALIGN="RIGHT"VALIGN="TOP"><TTCLASS="PARAMETER"><I>start</I></TT> :</TD><TDWIDTH="80%"ALIGN="LEFT"VALIGN="TOP"> boolean to indicate if the marker bit should be set.</TD></TR><TR><TDWIDTH="20%"ALIGN="RIGHT"VALIGN="TOP"><SPANCLASS="emphasis"><ICLASS="EMPHASIS">Returns</I></SPAN> :</TD><TDWIDTH="80%"ALIGN="LEFT"VALIGN="TOP"> a message block containing the rtp packet if successfull, NULL if the rtp sessioncannot support telephony event (because the rtp profile it is bound to does not includea telephony event payload type).</TD></TR></TBODY></TABLE><P></P></DIV></DIV><HR><DIVCLASS="REFSECT2"><ANAME="AEN1098"></A><H3><ANAME="RTP-SESSION-ADD-TELEPHONE-EVENT"></A>rtp_session_add_telephone_event ()</H3><TABLEBORDER="0"BGCOLOR="#D6E8FF"WIDTH="100%"CELLPADDING="6"><TR><TD><PRECLASS="PROGRAMLISTING">gint rtp_session_add_telephone_event (<AHREF="ortp-rtpsession-api.html#RTPSESSION">RtpSession</A> *session, mblk_t *packet, guchar event, gint end, guchar volume, guint16 duration);</PRE></TD></TR></TABLE><P>Adds a named telephony event to a rtp packet previously allocated using<AHREF="ortp-telephone-events-(rfc2833)-.html#RTP-SESSION-CREATE-TELEPHONE-EVENT-PACKET">rtp_session_create_telephone_event_packet</A>().</P><P></P><DIVCLASS="INFORMALTABLE"><ANAME="AEN1112"><P></P><TABLEBORDER="0"WIDTH="100%"BGCOLOR="#FFD0D0"CELLSPACING="0"CELLPADDING="4"CLASS="CALSTABLE"><TBODY><TR><TDWIDTH="20%"ALIGN="RIGHT"VALIGN="TOP"><TTCLASS="PARAMETER"><I>session</I></TT> :</TD><TDWIDTH="80%"ALIGN="LEFT"VALIGN="TOP"> a rtp session.</TD></TR><TR><TDWIDTH="20%"ALIGN="RIGHT"VALIGN="TOP"><TTCLASS="PARAMETER"><I>packet</I></TT> :</TD><TDWIDTH="80%"ALIGN="LEFT"VALIGN="TOP"> a rtp packet as a mblk_t</TD></TR><TR><TDWIDTH="20%"ALIGN="RIGHT"VALIGN="TOP"><TTCLASS="PARAMETER"><I>event</I></TT> :</TD><TDWIDTH="80%"ALIGN="LEFT"VALIGN="TOP"> the event type as described in rfc2833, ie one of the TEV_ macros.</TD></TR><TR><TDWIDTH="20%"ALIGN="RIGHT"VALIGN="TOP"><TTCLASS="PARAMETER"><I>end</I></TT> :</TD><TDWIDTH="80%"ALIGN="LEFT"VALIGN="TOP"> boolean to indicate if the end bit should be set. (end of tone)</TD></TR><TR><TDWIDTH="20%"ALIGN="RIGHT"VALIGN="TOP"><TTCLASS="PARAMETER"><I>volume</I></TT> :</TD><TDWIDTH="80%"ALIGN="LEFT"VALIGN="TOP"> the volume of the telephony tone, as described in rfc2833</TD></TR><TR><TDWIDTH="20%"ALIGN="RIGHT"VALIGN="TOP"><TTCLASS="PARAMETER"><I>duration</I></TT> :</TD><TDWIDTH="80%"ALIGN="LEFT"VALIGN="TOP">the duration of the telephony tone, in timestamp unit.</TD></TR><TR><TDWIDTH="20%"ALIGN="RIGHT"VALIGN="TOP"><SPANCLASS="emphasis"><ICLASS="EMPHASIS">Returns</I></SPAN> :</TD><TDWIDTH="80%"ALIGN="LEFT"VALIGN="TOP">0 on success.</TD></TR></TBODY></TABLE><P></P></DIV></DIV><HR><DIVCLASS="REFSECT2"><ANAME="AEN1146"></A><H3><ANAME="RTP-SESSION-READ-TELEPHONE-EVENT"></A>rtp_session_read_telephone_event ()</H3><TABLEBORDER="0"BGCOLOR="#D6E8FF"WIDTH="100%"CELLPADDING="6"><TR><TD><PRECLASS="PROGRAMLISTING">gint rtp_session_read_telephone_event (<AHREF="ortp-rtpsession-api.html#RTPSESSION">RtpSession</A> *session, mblk_t *packet, telephone_event_t **tab);</PRE></TD></TR></TABLE><P>Reads telephony events from a rtp packet. *<TTCLASS="PARAMETER"><I>tab</I></TT> points to the beginning of the event buffer.</P><P></P><DIVCLASS="INFORMALTABLE"><ANAME="AEN1157"><P></P><TABLEBORDER="0"WIDTH="100%"BGCOLOR="#FFD0D0"CELLSPACING="0"CELLPADDING="4"CLASS="CALSTABLE"><TBODY><TR><TDWIDTH="20%"ALIGN="RIGHT"VALIGN="TOP"><TTCLASS="PARAMETER"><I>session</I></TT> :</TD><TDWIDTH="80%"ALIGN="LEFT"VALIGN="TOP"> a rtp session from which telephony events are received.</TD></TR><TR><TDWIDTH="20%"ALIGN="RIGHT"VALIGN="TOP"><TTCLASS="PARAMETER"><I>packet</I></TT> :</TD><TDWIDTH="80%"ALIGN="LEFT"VALIGN="TOP"> a rtp packet as a mblk_t.</TD></TR><TR><TDWIDTH="20%"ALIGN="RIGHT"VALIGN="TOP"><TTCLASS="PARAMETER"><I>tab</I></TT> :</TD><TDWIDTH="80%"ALIGN="LEFT"VALIGN="TOP"> the address of a pointer.</TD></TR><TR><TDWIDTH="20%"ALIGN="RIGHT"VALIGN="TOP"><SPANCLASS="emphasis"><ICLASS="EMPHASIS">Returns</I></SPAN> :</TD><TDWIDTH="80%"ALIGN="LEFT"VALIGN="TOP"> the number of events in the packet if successfull, 0 if the packet did notcontain telephony events.</TD></TR></TBODY></TABLE><P></P></DIV></DIV><HR><DIVCLASS="REFSECT2"><ANAME="AEN1178"></A><H3><ANAME="RTP-SESSION-SEND-DTMF"></A>rtp_session_send_dtmf ()</H3><TABLEBORDER="0"BGCOLOR="#D6E8FF"WIDTH="100%"CELLPADDING="6"><TR><TD><PRECLASS="PROGRAMLISTING">gint rtp_session_send_dtmf (<AHREF="ortp-rtpsession-api.html#RTPSESSION">RtpSession</A> *session, gchar dtmf, guint32 userts);</PRE></TD></TR></TABLE><P>This functions creates telephony events packets for <TTCLASS="PARAMETER"><I>dtmf</I></TT> and sends them.It uses <AHREF="ortp-telephone-events-(rfc2833)-.html#RTP-SESSION-CREATE-TELEPHONE-EVENT-PACKET">rtp_session_create_telephone_event_packet</A>() and <AHREF="ortp-telephone-events-(rfc2833)-.html#RTP-SESSION-ADD-TELEPHONE-EVENT">rtp_session_add_telephone_event</A>() to create them and finally<AHREF="ortp-rtpsession-api.html#RTP-SESSION-SENDM-WITH-TS">rtp_session_sendm_with_ts</A>() to send them.</P><P></P><DIVCLASS="INFORMALTABLE"><ANAME="AEN1192"><P></P><TABLEBORDER="0"WIDTH="100%"BGCOLOR="#FFD0D0"CELLSPACING="0"CELLPADDING="4"CLASS="CALSTABLE"><TBODY><TR><TDWIDTH="20%"ALIGN="RIGHT"VALIGN="TOP"><TTCLASS="PARAMETER"><I>session</I></TT> :</TD><TDWIDTH="80%"ALIGN="LEFT"VALIGN="TOP"> a rtp session</TD></TR><TR><TDWIDTH="20%"ALIGN="RIGHT"VALIGN="TOP"><TTCLASS="PARAMETER"><I>dtmf</I></TT> :</TD><TDWIDTH="80%"ALIGN="LEFT"VALIGN="TOP"> a character meaning the dtmf (ex: '1', '#' , '9' ...)</TD></TR><TR><TDWIDTH="20%"ALIGN="RIGHT"VALIGN="TOP"><TTCLASS="PARAMETER"><I>userts</I></TT> :</TD><TDWIDTH="80%"ALIGN="LEFT"VALIGN="TOP"> the timestamp</TD></TR><TR><TDWIDTH="20%"ALIGN="RIGHT"VALIGN="TOP"><SPANCLASS="emphasis"><ICLASS="EMPHASIS">Returns</I></SPAN> :</TD><TDWIDTH="80%"ALIGN="LEFT"VALIGN="TOP"> 0 if successfull, -1 if the session cannot support telephony events or if the dtmfgiven as argument is not valid.</TD></TR></TBODY></TABLE><P></P></DIV></DIV></DIV><DIVCLASS="NAVFOOTER"><BRCLEAR="all"><BR><TABLEWIDTH="100%"BORDER="0"BGCOLOR="#000000"CELLPADDING="1"CELLSPACING="0"><TR><TDWIDTH="25%"BGCOLOR="#C00000"ALIGN="left"><AHREF="ortp-multiplexing-sessions-(in-a-one-thread-design).html"><FONTCOLOR="#FFFFFF"SIZE="3"><B><<< Previous Page</B></FONT></A></TD><TDWIDTH="25%"BGCOLOR="#0000C0"ALIGN="center"><FONTCOLOR="#FFFFFF"SIZE="3"><B><AHREF="book1.html"><FONTCOLOR="#FFFFFF"SIZE="3"><B>Home</B></FONT></A></B></FONT></TD><TDWIDTH="25%"BGCOLOR="#00C000"ALIGN="center"><FONTCOLOR="#FFFFFF"SIZE="3"><B><AHREF="ortpapi.html"><FONTCOLOR="#FFFFFF"SIZE="3"><B>Up</B></FONT></A></B></FONT></TD><TDWIDTH="25%"BGCOLOR="#C00000"ALIGN="right"> </TD></TR><TR><TDCOLSPAN="2"ALIGN="left"><FONTCOLOR="#FFFFFF"SIZE="3"><B>Multiplexing sessions (in a one thread design)</B></FONT></TD><TDCOLSPAN="2"ALIGN="right"> </TD></TR></TABLE></DIV></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -