[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