[asterisk-commits] oej: branch oej/codename-pineapple r48328 - in
/team/oej/codename-pineapple: ...
asterisk-commits at lists.digium.com
asterisk-commits at lists.digium.com
Wed Dec 6 09:54:29 MST 2006
Author: oej
Date: Wed Dec 6 10:54:29 2006
New Revision: 48328
URL: http://svn.digium.com/view/asterisk?view=rev&rev=48328
Log:
Updates
Modified:
team/oej/codename-pineapple/ (props changed)
team/oej/codename-pineapple/channels/chan_sip3.c
team/oej/codename-pineapple/configure
team/oej/codename-pineapple/configure.ac
team/oej/codename-pineapple/include/asterisk/channel.h
team/oej/codename-pineapple/include/asterisk/fskmodem.h
team/oej/codename-pineapple/include/asterisk/rtp.h
team/oej/codename-pineapple/main/callerid.c
team/oej/codename-pineapple/main/fskmodem.c
team/oej/codename-pineapple/main/rtp.c
team/oej/codename-pineapple/main/tdd.c
Propchange: team/oej/codename-pineapple/
------------------------------------------------------------------------------
Binary property 'branch-1.4-blocked' - no diff available.
Propchange: team/oej/codename-pineapple/
------------------------------------------------------------------------------
Binary property 'branch-1.4-merged' - no diff available.
Propchange: team/oej/codename-pineapple/
------------------------------------------------------------------------------
--- svnmerge-integrated (original)
+++ svnmerge-integrated Wed Dec 6 10:54:29 2006
@@ -1,1 +1,1 @@
-/trunk:1-48274
+/trunk:1-48294
Modified: team/oej/codename-pineapple/channels/chan_sip3.c
URL: http://svn.digium.com/view/asterisk/team/oej/codename-pineapple/channels/chan_sip3.c?view=diff&rev=48328&r1=48327&r2=48328
==============================================================================
--- team/oej/codename-pineapple/channels/chan_sip3.c (original)
+++ team/oej/codename-pineapple/channels/chan_sip3.c Wed Dec 6 10:54:29 2006
@@ -4364,6 +4364,10 @@
(resp != 183))
resp = 183;
+ /* Transmit ACK here and now for all failure messages */
+ if (resp >= 300)
+ transmit_request(p, SIP_ACK, req->seqno, XMIT_UNRELIABLE, FALSE);
+
if (p->state == DIALOG_STATE_TRYING)
dialogstatechange(p, DIALOG_STATE_PROCEEDING); /* We do have any type of response */
/* If we got 1xx reply WITH tag, it has to be DIALOG_STATE_EARLY */
@@ -4511,7 +4515,6 @@
case 301: /* Moved permenantly */
case 302: /* Moved temporarily */
case 305: /* Use Proxy */
- transmit_request(p, SIP_ACK, req->seqno, XMIT_UNRELIABLE, FALSE);
ast_set_flag(&p->flags[0], SIP_ALREADYGONE);
stop_media_flows(p); /* Stop RTP, VRTP and UDPTL */
parse_moved_contact(p, req);
@@ -4520,8 +4523,6 @@
break;
case 407: /* Proxy authentication */
case 401: /* Www auth */
- /* First we ACK */
- transmit_request(p, SIP_ACK, req->seqno, XMIT_UNRELIABLE, FALSE);
if (p->options)
p->options->auth_type = resp;
@@ -4540,8 +4541,6 @@
}
break;
case 403: /* Forbidden */
- /* First we ACK */
- transmit_request(p, SIP_ACK, req->seqno, XMIT_UNRELIABLE, FALSE);
ast_log(LOG_WARNING, "Received response: \"Forbidden\" from '%s'\n", get_header(&p->initreq, "From"));
if (!ast_test_flag(req, SIP_PKT_IGNORE) && p->owner)
ast_queue_control(p->owner, AST_CONTROL_CONGESTION);
@@ -4552,7 +4551,6 @@
case 404: /* Not found */
case 410: /* Gone */
dialogstatechange(p, DIALOG_STATE_TERMINATED);
- transmit_request(p, SIP_ACK, req->seqno, XMIT_UNRELIABLE, FALSE);
if (p->owner && !ast_test_flag(req, SIP_PKT_IGNORE))
ast_queue_control(p->owner, AST_CONTROL_CONGESTION);
ast_set_flag(&p->flags[0], SIP_ALREADYGONE);
@@ -4561,7 +4559,6 @@
/* Could be REFER caused INVITE with replaces header that refers to non-existing call */
ast_log(LOG_WARNING, "Re-invite to non-existing call leg on other UA. SIP dialog '%s'. Giving up.\n", p->callid);
dialogstatechange(p, DIALOG_STATE_TERMINATED);
- transmit_request(p, SIP_ACK, req->seqno, XMIT_UNRELIABLE, FALSE);
if (p->owner)
ast_queue_control(p->owner, AST_CONTROL_CONGESTION);
sip_scheddestroy(p, DEFAULT_TRANS_TIMEOUT);
@@ -4591,7 +4588,6 @@
case 501: /* Not implemented */
case 400: /* Bad Request */
case 500: /* Server error */
- transmit_request(p, SIP_ACK, req->seqno, XMIT_UNRELIABLE, FALSE);
dialogstatechange(p, DIALOG_STATE_TERMINATED);
if (p->owner)
ast_queue_control(p->owner, AST_CONTROL_CONGESTION);
@@ -4601,7 +4597,6 @@
case 603: /* Decline */
case 480: /* Temporarily Unavailable */
dialogstatechange(p, DIALOG_STATE_TERMINATED);
- transmit_request(p, SIP_ACK, req->seqno, XMIT_UNRELIABLE, FALSE);
ast_set_flag(&p->flags[0], SIP_ALREADYGONE);
stop_media_flows(p); /* Stop RTP, VRTP and UDPTL */
if (p->owner)
Modified: team/oej/codename-pineapple/configure
URL: http://svn.digium.com/view/asterisk/team/oej/codename-pineapple/configure?view=diff&rev=48328&r1=48327&r2=48328
==============================================================================
--- team/oej/codename-pineapple/configure (original)
+++ team/oej/codename-pineapple/configure Wed Dec 6 10:54:29 2006
@@ -1,5 +1,5 @@
#! /bin/sh
-# From configure.ac Revision: 47759 .
+# From configure.ac Revision: 48280 .
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.60a.
#
@@ -33620,30 +33620,17 @@
if test ! x"${CURL}" = xNo; then
# check for version
- if test "${host_os}" = "SunOS"; then
- if [ 0x`curl-config --vernum` -ge 0x70907 ]; then
- CURL_INCLUDE=$(${CURL} --cflags)
- CURL_LIB=$(${CURL} --libs)
- PBX_CURL=1
+ if test $(printf "%d" 0x$(curl-config --vernum)) -ge $(printf "%d" 0x070907); then
+ CURL_INCLUDE=$(${CURL} --cflags)
+ CURL_LIB=$(${CURL} --libs)
+ PBX_CURL=1
cat >>confdefs.h <<\_ACEOF
#define HAVE_CURL 1
_ACEOF
- fi
- else
- if [[ 0x`curl-config --vernum` -ge 0x70907 ]]; then
- CURL_INCLUDE=$(${CURL} --cflags)
- CURL_LIB=$(${CURL} --libs)
- PBX_CURL=1
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_CURL 1
-_ACEOF
-
- fi
- fi
- fi
+ fi
+ fi
fi
ac_config_files="$ac_config_files build_tools/menuselect-deps makeopts channels/h323/Makefile"
Modified: team/oej/codename-pineapple/configure.ac
URL: http://svn.digium.com/view/asterisk/team/oej/codename-pineapple/configure.ac?view=diff&rev=48328&r1=48327&r2=48328
==============================================================================
--- team/oej/codename-pineapple/configure.ac (original)
+++ team/oej/codename-pineapple/configure.ac Wed Dec 6 10:54:29 2006
@@ -932,22 +932,13 @@
AC_PATH_TOOL([CURL], [curl-config], No)
if test ! x"${CURL}" = xNo; then
# check for version
- if test "${host_os}" = "SunOS"; then
- if [[ 0x`curl-config --vernum` -ge 0x70907 ]]; then
- CURL_INCLUDE=$(${CURL} --cflags)
- CURL_LIB=$(${CURL} --libs)
- PBX_CURL=1
- AC_DEFINE([HAVE_CURL], 1, [Define if your system has the curl libraries.])
- fi
- else
- if [[[ 0x`curl-config --vernum` -ge 0x70907 ]]]; then
- CURL_INCLUDE=$(${CURL} --cflags)
- CURL_LIB=$(${CURL} --libs)
- PBX_CURL=1
- AC_DEFINE([HAVE_CURL], 1, [Define if your system has the curl libraries.])
- fi
- fi
- fi
+ if test $(printf "%d" 0x$(curl-config --vernum)) -ge $(printf "%d" 0x070907); then
+ CURL_INCLUDE=$(${CURL} --cflags)
+ CURL_LIB=$(${CURL} --libs)
+ PBX_CURL=1
+ AC_DEFINE([HAVE_CURL], 1, [Define if your system has the curl libraries.])
+ fi
+ fi
fi
AC_CONFIG_FILES([build_tools/menuselect-deps makeopts channels/h323/Makefile])
Modified: team/oej/codename-pineapple/include/asterisk/channel.h
URL: http://svn.digium.com/view/asterisk/team/oej/codename-pineapple/include/asterisk/channel.h?view=diff&rev=48328&r1=48327&r2=48328
==============================================================================
--- team/oej/codename-pineapple/include/asterisk/channel.h (original)
+++ team/oej/codename-pineapple/include/asterisk/channel.h Wed Dec 6 10:54:29 2006
@@ -81,7 +81,38 @@
\arg translate.h - Transcoding support functions
\arg \ref channel_drivers - Implemented channel drivers
\arg \ref Def_Frame Asterisk Multimedia Frames
-
+ \arg \ref Def_Bridge
+
+*/
+/*! \page Def_Bridge Asterisk Channel Bridges
+
+ In Asterisk, there's several media bridges.
+
+ The Core bridge handles two channels (a "phone call") and bridge
+ them together.
+
+ The conference bridge (meetme) handles several channels simultaneosly
+ with the support of an external timer (zaptel timer). This is used
+ not only by the Conference application (meetme) but also by the
+ page application and the SLA system introduced in 1.4.
+ The conference bridge does not handle video.
+
+ When two channels of the same type connect, the channel driver
+ or the media subsystem used by the channel driver (i.e. RTP)
+ can create a native bridge without sending media through the
+ core.
+
+ Native briding can be disabled by a number of reasons,
+ like DTMF being needed by the core or codecs being incompatible
+ so a transcoding module is needed.
+
+References:
+ - ast_channel_early_bridge()
+ - ast_channel_bridge()
+ - app_meetme.c
+ - \ref AstRTPbridge
+ - ast_rtp_bridge()
+ - \ref Def_Channel
*/
/*! \page AstFileDesc File descriptors
Modified: team/oej/codename-pineapple/include/asterisk/fskmodem.h
URL: http://svn.digium.com/view/asterisk/team/oej/codename-pineapple/include/asterisk/fskmodem.h?view=diff&rev=48328&r1=48327&r2=48328
==============================================================================
--- team/oej/codename-pineapple/include/asterisk/fskmodem.h (original)
+++ team/oej/codename-pineapple/include/asterisk/fskmodem.h Wed Dec 6 10:54:29 2006
@@ -35,7 +35,7 @@
float spb; /*!< Samples / Bit */
int nbit; /*!< Number of Data Bits (5,7,8) */
float nstop; /*!< Number of Stop Bits 1,1.5,2 */
- int paridad; /*!< Parity 0=none 1=even 2=odd */
+ int parity; /*!< Parity 0=none 1=even 2=odd */
int hdlc; /*!< Modo Packet */
float x0;
float x1;
@@ -53,7 +53,7 @@
int state;
int pcola; /*!< Pointer to data queues */
float cola_in[NCOLA]; /*!< Queue of input samples */
- float cola_filtro[NCOLA]; /*!< Queue of samples after filters */
+ float cola_filter[NCOLA]; /*!< Queue of samples after filters */
float cola_demod[NCOLA]; /*!< Queue of demodulated samples */
} fsk_data;
@@ -66,6 +66,6 @@
\arg 1: An output byte was received and stored in outbyte
\arg -1: An error occured in the transmission
He must be called with at least 80 bytes of buffer. */
-int fsk_serie(fsk_data *fskd, short *buffer, int *len, int *outbyte);
+int fsk_serial(fsk_data *fskd, short *buffer, int *len, int *outbyte);
#endif /* _ASTERISK_FSKMODEM_H */
Modified: team/oej/codename-pineapple/include/asterisk/rtp.h
URL: http://svn.digium.com/view/asterisk/team/oej/codename-pineapple/include/asterisk/rtp.h?view=diff&rev=48328&r1=48327&r2=48328
==============================================================================
--- team/oej/codename-pineapple/include/asterisk/rtp.h (original)
+++ team/oej/codename-pineapple/include/asterisk/rtp.h Wed Dec 6 10:54:29 2006
@@ -48,7 +48,10 @@
/*! Maximum RTP-specific code */
#define AST_RTP_MAX AST_RTP_CISCO_DTMF
+/*! Maxmum number of payload defintions for a RTP session */
#define MAX_RTP_PT 256
+
+#define FLAG_3389_WARNING (1 << 0)
enum ast_rtp_options {
AST_RTP_OPT_G726_NONSTANDARD = (1 << 0),
@@ -65,6 +68,8 @@
struct ast_rtp;
+/*! \brief This is the structure that binds a channel (SIP/Jingle/H.323) to the RTP subsystem
+*/
struct ast_rtp_protocol {
/*! Get RTP struct, or NULL if unwilling to transfer */
enum ast_rtp_get_result (* const get_rtp_info)(struct ast_channel *chan, struct ast_rtp **rtp);
@@ -78,8 +83,7 @@
};
-#define FLAG_3389_WARNING (1 << 0)
-
+/*! RTP callback structure */
typedef int (*ast_rtp_callback)(struct ast_rtp *rtp, struct ast_frame *f, void *data);
/*!
@@ -122,11 +126,13 @@
struct ast_rtp *ast_rtp_get_bridged(struct ast_rtp *rtp);
+/*! Destroy RTP session */
void ast_rtp_destroy(struct ast_rtp *rtp);
void ast_rtp_reset(struct ast_rtp *rtp);
-void ast_rtp_stun_request(struct ast_rtp *rtp, struct sockaddr_in *suggestion, const char *username);
+/*! Stop RTP session, do not destroy structure */
+void ast_rtp_stop(struct ast_rtp *rtp);
void ast_rtp_set_callback(struct ast_rtp *rtp, ast_rtp_callback callback);
@@ -189,10 +195,18 @@
/*! \brief Enable STUN capability */
void ast_rtp_setstun(struct ast_rtp *rtp, int stun_enable);
+/*! \brief Send STUN request (??) */
+void ast_rtp_stun_request(struct ast_rtp *rtp, struct sockaddr_in *suggestion, const char *username);
+
+/*! \brief The RTP bridge.
+ \arg \ref AstRTPbridge
+*/
int ast_rtp_bridge(struct ast_channel *c0, struct ast_channel *c1, int flags, struct ast_frame **fo, struct ast_channel **rc, int timeoutms);
+/*! \brief Register an RTP channel client */
int ast_rtp_proto_register(struct ast_rtp_protocol *proto);
+/*! \brief Unregister an RTP channel client */
void ast_rtp_proto_unregister(struct ast_rtp_protocol *proto);
int ast_rtp_make_compatible(struct ast_channel *dest, struct ast_channel *src, int media);
@@ -201,22 +215,22 @@
having to send a re-invite later */
int ast_rtp_early_bridge(struct ast_channel *c0, struct ast_channel *c1);
-void ast_rtp_stop(struct ast_rtp *rtp);
-
-/*! \brief Return RTCP quality string */
-char *ast_rtp_get_quality(struct ast_rtp *rtp);
+
/*! \brief Send an H.261 fast update request. Some devices need this rather than the XML message in SIP */
int ast_rtcp_send_h261fur(void *data);
-void ast_rtp_init(void);
-
-int ast_rtp_reload(void);
-
+char *ast_rtp_get_quality(struct ast_rtp *rtp); /*! \brief Return RTCP quality string */
+void ast_rtp_init(void); /*! Initialize RTP subsystem */
+int ast_rtp_reload(void); /*! reload rtp configuration */
+
+/*! Set codec preference */
int ast_rtp_codec_setpref(struct ast_rtp *rtp, struct ast_codec_pref *prefs);
+/*! Get codec preference */
struct ast_codec_pref *ast_rtp_codec_getpref(struct ast_rtp *rtp);
+/*! get format from predefined dynamic payload format */
int ast_rtp_codec_getformat(int pt);
/*! \brief Set rtp timeout */
Modified: team/oej/codename-pineapple/main/callerid.c
URL: http://svn.digium.com/view/asterisk/team/oej/codename-pineapple/main/callerid.c?view=diff&rev=48328&r1=48327&r2=48328
==============================================================================
--- team/oej/codename-pineapple/main/callerid.c (original)
+++ team/oej/codename-pineapple/main/callerid.c Wed Dec 6 10:54:29 2006
@@ -298,17 +298,17 @@
while (mylen >= 160) {
b = b2 = 0;
olen = mylen;
- res = fsk_serie(&cid->fskd, buf, &mylen, &b);
+ res = fsk_serial(&cid->fskd, buf, &mylen, &b);
if (mylen < 0) {
- ast_log(LOG_ERROR, "fsk_serie made mylen < 0 (%d)\n", mylen);
+ ast_log(LOG_ERROR, "fsk_serial made mylen < 0 (%d)\n", mylen);
return -1;
}
buf += (olen - mylen);
if (res < 0) {
- ast_log(LOG_NOTICE, "fsk_serie failed\n");
+ ast_log(LOG_NOTICE, "fsk_serial failed\n");
return -1;
}
@@ -538,14 +538,14 @@
buf[x+cid->oldlen/2] = AST_XLAW(ubuf[x]);
while (mylen >= 160) {
olen = mylen;
- res = fsk_serie(&cid->fskd, buf, &mylen, &b);
+ res = fsk_serial(&cid->fskd, buf, &mylen, &b);
if (mylen < 0) {
- ast_log(LOG_ERROR, "fsk_serie made mylen < 0 (%d)\n", mylen);
+ ast_log(LOG_ERROR, "fsk_serial made mylen < 0 (%d)\n", mylen);
return -1;
}
buf += (olen - mylen);
if (res < 0) {
- ast_log(LOG_NOTICE, "fsk_serie failed\n");
+ ast_log(LOG_NOTICE, "fsk_serial failed\n");
return -1;
}
if (res == 1) {
Modified: team/oej/codename-pineapple/main/fskmodem.c
URL: http://svn.digium.com/view/asterisk/team/oej/codename-pineapple/main/fskmodem.c?view=diff&rev=48328&r1=48327&r2=48328
==============================================================================
--- team/oej/codename-pineapple/main/fskmodem.c (original)
+++ team/oej/codename-pineapple/main/fskmodem.c Wed Dec 6 10:54:29 2006
@@ -104,7 +104,7 @@
/*! Band-pass filter for MARK frequency */
-static inline float filtroM(fsk_data *fskd,float in)
+static inline float filterM(fsk_data *fskd,float in)
{
int i, j;
double s;
@@ -123,7 +123,7 @@
}
/*! Band-pass filter for SPACE frequency */
-static inline float filtroS(fsk_data *fskd,float in)
+static inline float filterS(fsk_data *fskd,float in)
{
int i, j;
double s;
@@ -142,7 +142,7 @@
}
/*! Low-pass filter for demodulated data */
-static inline float filtroL(fsk_data *fskd,float in)
+static inline float filterL(fsk_data *fskd,float in)
{
int i, j;
double s;
@@ -164,18 +164,18 @@
return s;
}
-static inline int demodulador(fsk_data *fskd, float *retval, float x)
+static inline int demodulator(fsk_data *fskd, float *retval, float x)
{
float xS,xM;
fskd->cola_in[fskd->pcola] = x;
- xS = filtroS(fskd,x);
- xM = filtroM(fskd,x);
-
- fskd->cola_filtro[fskd->pcola] = xM-xS;
-
- x = filtroL(fskd,xM*xM - xS*xS);
+ xS = filterS(fskd,x);
+ xM = filterM(fskd,x);
+
+ fskd->cola_filter[fskd->pcola] = xM-xS;
+
+ x = filterL(fskd,xM*xM - xS*xS);
fskd->cola_demod[fskd->pcola++] = x;
fskd->pcola &= (NCOLA-1);
@@ -197,7 +197,7 @@
spb2 = spb/2.;
for (f = 0;;) {
- if (demodulador(fskd, &x, GET_SAMPLE))
+ if (demodulator(fskd, &x, GET_SAMPLE))
return -1;
if ((x * fskd->x0) < 0) { /* Transition */
if (!f) {
@@ -219,7 +219,7 @@
return f;
}
-int fsk_serie(fsk_data *fskd, short *buffer, int *len, int *outbyte)
+int fsk_serial(fsk_data *fskd, short *buffer, int *len, int *outbyte)
{
int a;
int i,j,n1,r;
@@ -242,9 +242,9 @@
just start sending a start bit with nothing preceding it at the beginning
of a transmission (what a LOSING design), we cant do it this elegantly */
/*
- if (demodulador(zap,&x1)) return(-1);
+ if (demodulator(zap,&x1)) return(-1);
for(;;) {
- if (demodulador(zap,&x2)) return(-1);
+ if (demodulator(zap,&x2)) return(-1);
if (x1>0 && x2<0) break;
x1 = x2;
}
@@ -253,7 +253,7 @@
beginning of a start bit in the TDD sceanario. It just looks for sufficient
level to maybe, perhaps, guess, maybe that its maybe the beginning of
a start bit, perhaps. This whole thing stinks! */
- if (demodulador(fskd, &fskd->x1, GET_SAMPLE))
+ if (demodulator(fskd, &fskd->x1, GET_SAMPLE))
return -1;
samples++;
for(;;) {
@@ -263,7 +263,7 @@
return 0;
}
samples++;
- if (demodulador(fskd, &fskd->x2, GET_SAMPLE))
+ if (demodulator(fskd, &fskd->x2, GET_SAMPLE))
return(-1);
#if 0
printf("x2 = %5.5f ", fskd->x2);
@@ -279,7 +279,7 @@
return 0;
}
for(;i;i--) {
- if (demodulador(fskd, &fskd->x1, GET_SAMPLE))
+ if (demodulator(fskd, &fskd->x1, GET_SAMPLE))
return(-1);
#if 0
printf("x1 = %5.5f ", fskd->x1);
@@ -320,7 +320,7 @@
a >>= j;
/* We read parity bit (if exists) and check parity */
- if (fskd->paridad) {
+ if (fskd->parity) {
olen = *len;
i = get_bit_raw(fskd, buffer, len);
buffer += (olen - *len);
@@ -328,7 +328,7 @@
return(-1);
if (i)
n1++;
- if (fskd->paridad == 1) { /* parity=1 (even) */
+ if (fskd->parity == 1) { /* parity=1 (even) */
if (n1&1)
a |= 0x100; /* error */
} else { /* parity=2 (odd) */
Modified: team/oej/codename-pineapple/main/rtp.c
URL: http://svn.digium.com/view/asterisk/team/oej/codename-pineapple/main/rtp.c?view=diff&rev=48328&r1=48327&r2=48328
==============================================================================
--- team/oej/codename-pineapple/main/rtp.c (original)
+++ team/oej/codename-pineapple/main/rtp.c Wed Dec 6 10:54:29 2006
@@ -3142,7 +3142,34 @@
/*! \brief Bridge calls. If possible and allowed, initiate
re-invite so the peers exchange media directly outside
- of Asterisk. */
+ of Asterisk.
+*/
+/*! \page AstRTPbridge The Asterisk RTP bridge
+ The RTP bridge is called from the channel drivers that are using the RTP
+ subsystem in Asterisk - like SIP, H.323 and Jingle/Google Talk.
+
+ This bridge aims to offload the Asterisk server by setting up
+ the media stream directly between the endpoints, keeping the
+ signalling in Asterisk.
+
+ It checks with the channel driver, using a callback function, if
+ there are possibilities for a remote bridge.
+
+ If this fails, the bridge hands off to the core bridge. Reasons
+ can be NAT support needed, DTMF features in audio needed by
+ the PBX for transfers or spying/monitoring on channels.
+
+ If transcoding is needed - we can't do a remote bridge.
+ If only NAT support is needed, we're using Asterisk in
+ RTP proxy mode with the p2p RTP bridge, basically
+ forwarding incoming audio packets to the outbound
+ stream on a network level.
+
+ References:
+ - ast_rtp_bridge()
+ - ast_channel_early_bridge()
+ - ast_channel_bridge()
+*/
enum ast_bridge_result ast_rtp_bridge(struct ast_channel *c0, struct ast_channel *c1, int flags, struct ast_frame **fo, struct ast_channel **rc, int timeoutms)
{
struct ast_rtp *p0 = NULL, *p1 = NULL; /* Audio RTP Channels */
Modified: team/oej/codename-pineapple/main/tdd.c
URL: http://svn.digium.com/view/asterisk/team/oej/codename-pineapple/main/tdd.c?view=diff&rev=48328&r1=48327&r2=48328
==============================================================================
--- team/oej/codename-pineapple/main/tdd.c (original)
+++ team/oej/codename-pineapple/main/tdd.c Wed Dec 6 10:54:29 2006
@@ -108,7 +108,7 @@
tdd->fskd.hdlc = 0; /* Async */
tdd->fskd.nbit = 5; /* 5 bits */
tdd->fskd.nstop = 1.5; /* 1.5 stop bits */
- tdd->fskd.paridad = 0; /* No parity */
+ tdd->fskd.parity = 0; /* No parity */
tdd->fskd.bw=0; /* Filter 75 Hz */
tdd->fskd.f_mark_idx = 0; /* 1400 Hz */
tdd->fskd.f_space_idx = 1; /* 1800 Hz */
@@ -157,15 +157,15 @@
c = res = 0;
while (mylen >= 1320) { /* has to have enough to work on */
olen = mylen;
- res = fsk_serie(&tdd->fskd, buf, &mylen, &b);
+ res = fsk_serial(&tdd->fskd, buf, &mylen, &b);
if (mylen < 0) {
- ast_log(LOG_ERROR, "fsk_serie made mylen < 0 (%d) (olen was %d)\n", mylen, olen);
+ ast_log(LOG_ERROR, "fsk_serial made mylen < 0 (%d) (olen was %d)\n", mylen, olen);
free(obuf);
return -1;
}
buf += (olen - mylen);
if (res < 0) {
- ast_log(LOG_NOTICE, "fsk_serie failed\n");
+ ast_log(LOG_NOTICE, "fsk_serial failed\n");
free(obuf);
return -1;
}
More information about the asterisk-commits
mailing list