[asterisk-commits] oej: branch oej/calleridutf8 r110626 - in /team/oej/calleridutf8: ./ apps/ bu...

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Tue Mar 25 06:16:26 CDT 2008


Author: oej
Date: Tue Mar 25 06:16:25 2008
New Revision: 110626

URL: http://svn.digium.com/view/asterisk?view=rev&rev=110626
Log:
It compiles again.

Removed:
    team/oej/calleridutf8/main/minimime/
Modified:
    team/oej/calleridutf8/   (props changed)
    team/oej/calleridutf8/CHANGES
    team/oej/calleridutf8/Makefile
    team/oej/calleridutf8/acinclude.m4
    team/oej/calleridutf8/apps/app_chanspy.c
    team/oej/calleridutf8/apps/app_voicemail.c
    team/oej/calleridutf8/build_tools/cflags.xml
    team/oej/calleridutf8/build_tools/make_buildopts_h
    team/oej/calleridutf8/build_tools/menuselect-deps.in
    team/oej/calleridutf8/channels/chan_console.c
    team/oej/calleridutf8/channels/chan_oss.c
    team/oej/calleridutf8/channels/chan_sip.c
    team/oej/calleridutf8/channels/chan_skinny.c
    team/oej/calleridutf8/configs/sip.conf.sample
    team/oej/calleridutf8/configs/sip_notify.conf.sample
    team/oej/calleridutf8/configure
    team/oej/calleridutf8/configure.ac
    team/oej/calleridutf8/contrib/init.d/rc.suse.asterisk
    team/oej/calleridutf8/include/asterisk/autoconfig.h.in
    team/oej/calleridutf8/include/asterisk/dnsmgr.h
    team/oej/calleridutf8/include/asterisk/pbx.h
    team/oej/calleridutf8/main/Makefile
    team/oej/calleridutf8/main/dial.c
    team/oej/calleridutf8/main/features.c
    team/oej/calleridutf8/main/http.c
    team/oej/calleridutf8/main/pbx.c
    team/oej/calleridutf8/main/utils.c
    team/oej/calleridutf8/makeopts.in

Propchange: team/oej/calleridutf8/
------------------------------------------------------------------------------
    automerge = http://www.codename-pineapple.org/

Propchange: team/oej/calleridutf8/
------------------------------------------------------------------------------
Binary property 'branch-1.4-blocked' - no diff available.

Propchange: team/oej/calleridutf8/
------------------------------------------------------------------------------
Binary property 'branch-1.4-merged' - no diff available.

Propchange: team/oej/calleridutf8/
------------------------------------------------------------------------------
--- svnmerge-integrated (original)
+++ svnmerge-integrated Tue Mar 25 06:16:25 2008
@@ -1,1 +1,1 @@
-/trunk:1-108765
+/trunk:1-109350

Modified: team/oej/calleridutf8/CHANGES
URL: http://svn.digium.com/view/asterisk/team/oej/calleridutf8/CHANGES?view=diff&rev=110626&r1=110625&r2=110626
==============================================================================
--- team/oej/calleridutf8/CHANGES (original)
+++ team/oej/calleridutf8/CHANGES Tue Mar 25 06:16:25 2008
@@ -167,6 +167,8 @@
      SIP session.
   * Added TCP and TLS support for SIP.  See doc/siptls.txt and configs/sip.conf.sample for
      more information on how it is used.
+  * Added a new configuration option "authfailureevents" that enables manager events when
+    a peer can't authenticate properly. 
 
 IAX2 changes
 ------------

Modified: team/oej/calleridutf8/Makefile
URL: http://svn.digium.com/view/asterisk/team/oej/calleridutf8/Makefile?view=diff&rev=110626&r1=110625&r2=110626
==============================================================================
--- team/oej/calleridutf8/Makefile (original)
+++ team/oej/calleridutf8/Makefile Tue Mar 25 06:16:25 2008
@@ -350,7 +350,7 @@
 	@echo "****"
 	@exit 1
 
-menuselect.makeopts: menuselect/menuselect menuselect-tree
+menuselect.makeopts: menuselect/menuselect menuselect-tree makeopts
 	menuselect/menuselect --check-deps $(GLOBAL_MAKEOPTS) $(USER_MAKEOPTS) menuselect.makeopts
 
 $(MOD_SUBDIRS_EMBED_LDSCRIPT):
@@ -445,7 +445,7 @@
 	@$(MAKE) -C sounds dist-clean
 	rm -f menuselect.makeopts makeopts menuselect-tree menuselect.makedeps
 	rm -f makeopts.embed_rules
-	rm -f config.log config.status
+	rm -f config.log config.status config.cache
 	rm -rf autom4te.cache
 	rm -f include/asterisk/autoconfig.h
 	rm -f include/asterisk/buildopts.h

Modified: team/oej/calleridutf8/acinclude.m4
URL: http://svn.digium.com/view/asterisk/team/oej/calleridutf8/acinclude.m4?view=diff&rev=110626&r1=110625&r2=110626
==============================================================================
--- team/oej/calleridutf8/acinclude.m4 (original)
+++ team/oej/calleridutf8/acinclude.m4 Tue Mar 25 06:16:25 2008
@@ -114,7 +114,7 @@
 		AC_DEFINE([HAVE_$1], 1, [Define if your system has the $1 headers.])
 		AC_DEFINE([HAVE_$1_VERSION], $4, [Define $1 headers version])
 	    ],
-	    [       AC_MSG_RESULT(no) ] 
+	    [   AC_MSG_RESULT(no) ] 
 	)
 	CPPFLAGS="${saved_cppflags}"
     fi

Modified: team/oej/calleridutf8/apps/app_chanspy.c
URL: http://svn.digium.com/view/asterisk/team/oej/calleridutf8/apps/app_chanspy.c?view=diff&rev=110626&r1=110625&r2=110626
==============================================================================
--- team/oej/calleridutf8/apps/app_chanspy.c (original)
+++ team/oej/calleridutf8/apps/app_chanspy.c Tue Mar 25 06:16:25 2008
@@ -275,8 +275,10 @@
 
 	/* We now hold the channel lock on spyee */
 
-	if (ast_check_hangup(chan) || ast_check_hangup(spyee))
+	if (ast_check_hangup(chan) || ast_check_hangup(spyee)) {
+		ast_channel_unlock(spyee);
 		return 0;
+	}
 
 	name = ast_strdupa(spyee->name);
 	ast_verb(2, "Spying on channel %s\n", name);

Modified: team/oej/calleridutf8/apps/app_voicemail.c
URL: http://svn.digium.com/view/asterisk/team/oej/calleridutf8/apps/app_voicemail.c?view=diff&rev=110626&r1=110625&r2=110626
==============================================================================
--- team/oej/calleridutf8/apps/app_voicemail.c (original)
+++ team/oej/calleridutf8/apps/app_voicemail.c Tue Mar 25 06:16:25 2008
@@ -8017,6 +8017,7 @@
 static void mwi_sub_event_cb(const struct ast_event *event, void *userdata)
 {
 	const char *mailbox;
+	const char *context;
 	uint32_t uniqueid;
 	unsigned int len;
 	struct mwi_sub *mwi_sub;
@@ -8028,12 +8029,16 @@
 		return;
 
 	mailbox = ast_event_get_ie_str(event, AST_EVENT_IE_MAILBOX);
+	context = ast_event_get_ie_str(event, AST_EVENT_IE_CONTEXT);
 	uniqueid = ast_event_get_ie_uint(event, AST_EVENT_IE_UNIQUEID);
 
 	len = sizeof(*mwi_sub);
 	if (!ast_strlen_zero(mailbox))
 		len += strlen(mailbox);
 
+	if (!ast_strlen_zero(context))
+		len += strlen(context) + 1; /* Allow for seperator */
+
 	if (!(mwi_sub = ast_calloc(1, len)))
 		return;
 
@@ -8041,6 +8046,11 @@
 	if (!ast_strlen_zero(mailbox))
 		strcpy(mwi_sub->mailbox, mailbox);
 
+	if (!ast_strlen_zero(context)) {
+		strcat(mwi_sub->mailbox, "@");
+		strcat(mwi_sub->mailbox, context);
+	}
+
 	AST_RWLIST_WRLOCK(&mwi_subs);
 	AST_RWLIST_INSERT_TAIL(&mwi_subs, mwi_sub, entry);
 	AST_RWLIST_UNLOCK(&mwi_subs);
@@ -8048,8 +8058,6 @@
 
 static void start_poll_thread(void)
 {
-	pthread_attr_t attr;
-
 	mwi_sub_sub = ast_event_subscribe(AST_EVENT_SUB, mwi_sub_event_cb, NULL,
 		AST_EVENT_IE_EVENTTYPE, AST_EVENT_IE_PLTYPE_UINT, AST_EVENT_MWI,
 		AST_EVENT_IE_END);
@@ -8063,9 +8071,7 @@
 
 	poll_thread_run = 1;
 
-	pthread_attr_init(&attr);
-	ast_pthread_create(&poll_thread, &attr, mb_poll_thread, NULL);
-	pthread_attr_destroy(&attr);
+	ast_pthread_create(&poll_thread, NULL, mb_poll_thread, NULL);
 }
 
 static void stop_poll_thread(void)

Modified: team/oej/calleridutf8/build_tools/cflags.xml
URL: http://svn.digium.com/view/asterisk/team/oej/calleridutf8/build_tools/cflags.xml?view=diff&rev=110626&r1=110625&r2=110626
==============================================================================
--- team/oej/calleridutf8/build_tools/cflags.xml (original)
+++ team/oej/calleridutf8/build_tools/cflags.xml Tue Mar 25 06:16:25 2008
@@ -1,5 +1,9 @@
 	<category name="MENUSELECT_CFLAGS" displayname="Compiler Flags" positive_output="yes" remove_on_change=".lastclean">
 		<member name="DONT_OPTIMIZE" displayname="Disable Optimizations by the Compiler">
+		</member>
+		<member name="ENABLE_UPLOADS" displayname="Enable HTTP uploads">
+			<defaultenabled>yes</defaultenabled>
+			<depend>gmime</depend>
 		</member>
 		<member name="DEBUG_THREADS" displayname="Enable Thread Debugging">
 		</member>

Modified: team/oej/calleridutf8/build_tools/make_buildopts_h
URL: http://svn.digium.com/view/asterisk/team/oej/calleridutf8/build_tools/make_buildopts_h?view=diff&rev=110626&r1=110625&r2=110626
==============================================================================
--- team/oej/calleridutf8/build_tools/make_buildopts_h (original)
+++ team/oej/calleridutf8/build_tools/make_buildopts_h Tue Mar 25 06:16:25 2008
@@ -7,11 +7,11 @@
  */
 
 END
-TMP=`${GREP} MENUSELECT_CFLAGS menuselect.makeopts | sed 's/MENUSELECT_CFLAGS\=//g' | sed 's/-D//g'`
+TMP=`${GREP} -e ^MENUSELECT_CFLAGS menuselect.makeopts | sed 's/MENUSELECT_CFLAGS\=//g' | sed 's/-D//g'`
 for x in ${TMP}; do
 	echo "#define ${x} 1"
 done
-TMP=`${GREP} MENUSELECT_BUILD_DEPS menuselect.makeopts | sed 's/MENUSELECT_BUILD_DEPS\=//g'`
+TMP=`${GREP} -e ^MENUSELECT_BUILD_DEPS menuselect.makeopts | sed 's/MENUSELECT_BUILD_DEPS\=//g'`
 for x in ${TMP}; do
 	x2=`echo ${x} | tr a-z A-Z`
 	echo "#define AST_MODULE_${x2} 1"

Modified: team/oej/calleridutf8/build_tools/menuselect-deps.in
URL: http://svn.digium.com/view/asterisk/team/oej/calleridutf8/build_tools/menuselect-deps.in?view=diff&rev=110626&r1=110625&r2=110626
==============================================================================
--- team/oej/calleridutf8/build_tools/menuselect-deps.in (original)
+++ team/oej/calleridutf8/build_tools/menuselect-deps.in Tue Mar 25 06:16:25 2008
@@ -2,6 +2,7 @@
 CRYPTO=@PBX_CRYPTO@
 CURL=@PBX_CURL@
 FREETDS=@PBX_FREETDS@
+GMIME=@PBX_GMIME@
 GNU_LD=@GNU_LD@
 GSM=@PBX_GSM@
 GTK2=@PBX_GTK2@

Modified: team/oej/calleridutf8/channels/chan_console.c
URL: http://svn.digium.com/view/asterisk/team/oej/calleridutf8/channels/chan_console.c?view=diff&rev=110626&r1=110625&r2=110626
==============================================================================
--- team/oej/calleridutf8/channels/chan_console.c (original)
+++ team/oej/calleridutf8/channels/chan_console.c Tue Mar 25 06:16:25 2008
@@ -135,6 +135,7 @@
 		AST_STRING_FIELD(cid_num);
 		/*! Default CallerID name */
 		AST_STRING_FIELD(cid_name);
+		AST_STRING_FIELD(cid_utf8name);
 		/*! Default MOH class to listen to, if:
 		 *    - No MOH class set on the channel
 		 *    - Peer channel putting this device on hold did not suggest a class */
@@ -415,8 +416,7 @@
 {
 	struct ast_channel *chan;
 
-	if (!(chan = ast_channel_alloc(1, state, pvt->cid_num, pvt->cid_name, NULL, 
-		ext, ctx, 0, "Console/%s", pvt->name))) {
+	if (!(chan = ast_channel_alloc(1, state, pvt->cid_num, pvt->cid_name, pvt->cid_utf8name, NULL, ext, ctx, 0, "Console/%s", pvt->name))) {
 		return NULL;
 	}
 
@@ -1236,6 +1236,7 @@
 		ast_string_field_set(pvt, language, "");
 		ast_string_field_set(pvt, cid_num, "");
 		ast_string_field_set(pvt, cid_name, "");
+		ast_string_field_set(pvt, cid_utf8name, "");
 	
 		pvt->overridecontext = 0;
 		pvt->autoanswer = 0;
@@ -1248,6 +1249,7 @@
 		ast_string_field_set(pvt, language, globals.language);
 		ast_string_field_set(pvt, cid_num, globals.cid_num);
 		ast_string_field_set(pvt, cid_name, globals.cid_name);
+		ast_string_field_set(pvt, cid_utf8name, globals.cid_utf8name);
 
 		pvt->overridecontext = globals.overridecontext;
 		pvt->autoanswer = globals.autoanswer;
@@ -1284,6 +1286,7 @@
 	CV_STRFIELD("extension", pvt, exten);
 	CV_STRFIELD("mohinterpret", pvt, mohinterpret);
 	CV_STRFIELD("language", pvt, language);
+	CV_STRFIELD("calleridutf8", pvt, cid_utf8name);
 	CV_F("callerid", store_callerid(pvt, value));
 	CV_BOOL("overridecontext", pvt->overridecontext);
 	CV_BOOL("autoanswer", pvt->autoanswer);

Modified: team/oej/calleridutf8/channels/chan_oss.c
URL: http://svn.digium.com/view/asterisk/team/oej/calleridutf8/channels/chan_oss.c?view=diff&rev=110626&r1=110625&r2=110626
==============================================================================
--- team/oej/calleridutf8/channels/chan_oss.c (original)
+++ team/oej/calleridutf8/channels/chan_oss.c Tue Mar 25 06:16:25 2008
@@ -789,7 +789,7 @@
 {
 	struct ast_channel *c;
 
-	c = ast_channel_alloc(1, state, o->cid_num, o->cid_name, "", "", "", ext, ctx, 0, "OSS/%s", o->device + 5);
+	c = ast_channel_alloc(1, state, o->cid_num, o->cid_name, "", "", "", ext, ctx, 0, "Console/%s", o->device + 5);
 	if (c == NULL)
 		return NULL;
 	c->tech = &oss_tech;

Modified: team/oej/calleridutf8/channels/chan_sip.c
URL: http://svn.digium.com/view/asterisk/team/oej/calleridutf8/channels/chan_sip.c?view=diff&rev=110626&r1=110625&r2=110626
==============================================================================
--- team/oej/calleridutf8/channels/chan_sip.c (original)
+++ team/oej/calleridutf8/channels/chan_sip.c Tue Mar 25 06:16:25 2008
@@ -705,6 +705,7 @@
 static char global_sdpowner[AST_MAX_EXTENSION];	/*!< SDP owner name for the SIP channel */
 static int allow_external_domains;	/*!< Accept calls to external SIP domains? */
 static int global_callevents;		/*!< Whether we send manager events or not */
+static int global_authfailureevents;		/*!< Whether we send authentication failure manager events or not. Default no. */
 static int global_t1;			/*!< T1 time */
 static int global_t1min;		/*!< T1 roundtrip time minimum */
 static int global_timer_b;    /*!< Timer B - RFC 3261 Section 17.1.1.2 */
@@ -1548,7 +1549,6 @@
 	struct timeval regtime;		/*!< Last successful registration time */
 	int callid_valid;		/*!< 0 means we haven't chosen callid for this registry yet. */
 	unsigned int ocseq;		/*!< Sequence number we got to for REGISTERs for this registry */
-	struct sockaddr_in us;		/*!< Who the server thinks we are */
 	int noncecount;			/*!< Nonce-count */
 	char lastmsg[256];		/*!< Last Message sent/received */
 };
@@ -3092,7 +3092,7 @@
 			ntohs(dst->sin_port), req->data->str);
 	}
 	if (p->do_history) {
-		struct sip_request tmp;
+		struct sip_request tmp = { .rlPart1 = NULL, };
 		parse_copy(&tmp, req);
 		append_history(p, reliable ? "TxRespRel" : "TxResp", "%s / %s - %s", tmp.data->str, get_header(&tmp, "CSeq"), 
 			(tmp.method == SIP_RESPONSE || tmp.method == SIP_UNKNOWN) ? tmp.rlPart2 : sip_methods[tmp.method].text);
@@ -3127,7 +3127,7 @@
 			ast_verbose("%sTransmitting (no NAT) to %s:%d:\n%s\n---\n", reliable ? "Reliably " : "", ast_inet_ntoa(p->sa.sin_addr), ntohs(p->sa.sin_port), req->data->str);
 	}
 	if (p->do_history) {
-		struct sip_request tmp;
+		struct sip_request tmp = { .rlPart1 = NULL, };
 		parse_copy(&tmp, req);
 		append_history(p, reliable ? "TxReqRel" : "TxReq", "%s / %s - %s", tmp.data->str, get_header(&tmp, "CSeq"), sip_methods[tmp.method].text);
 		ast_free(tmp.data);
@@ -9858,7 +9858,7 @@
 	/* Saving TCP connections is useless, we won't be able to reconnect */
 	if (!peer->rt_fromcontact && (peer->socket.type & SIP_TRANSPORT_UDP)) 
 		ast_db_put("SIP/Registry", peer->name, data);
-	manager_event(EVENT_FLAG_SYSTEM, "PeerStatus", "ChannelType: SIP\r\nPeer: SIP/%s\r\nPeerStatus: Registered\r\n", peer->name);
+	manager_event(EVENT_FLAG_SYSTEM, "PeerStatus", "ChannelType: SIP\r\nPeer: SIP/%s\r\nPeerStatus: Registered\r\nAddress: %s\r\nPort: %d\r\n", peer->name,  ast_inet_ntoa(peer->addr.sin_addr), ntohs(peer->addr.sin_port));
 
 	/* Is this a new IP address for us? */
 	if (inaddrcmp(&peer->addr, &oldsin)) {
@@ -10410,7 +10410,7 @@
 			case PARSE_REGISTER_UPDATE:
 				/* Say OK and ask subsystem to retransmit msg counter */
 				transmit_response_with_date(p, "200 OK", req);
-				manager_event(EVENT_FLAG_SYSTEM, "PeerStatus", "ChannelType: SIP\r\nPeer: SIP/%s\r\nPeerStatus: Registered\r\n", peer->name);
+				manager_event(EVENT_FLAG_SYSTEM, "PeerStatus", "ChannelType: SIP\r\nPeer: SIP/%s\r\nPeerStatus: Registered\r\nAddress: %s\r\nPort: %d\r\n", peer->name, ast_inet_ntoa(sin->sin_addr), ntohs(sin->sin_port));
 				peer->lastmsgssent = -1;
 				res = 0;
 				break;
@@ -10425,6 +10425,9 @@
 		case AUTH_SECRET_FAILED:
 			/* Wrong password in authentication. Go away, don't try again until you fixed it */
 			transmit_response(p, "403 Forbidden (Bad auth)", &p->initreq);
+			if (global_authfailureevents)
+				manager_event(EVENT_FLAG_SYSTEM, "PeerStatus", "ChannelType: SIP\r\nPeer: SIP/%s\r\nPeerStatus: Rejected\r\nCause: AUTH_SECRET_FAILED\r\nAddress: %s\r\nPort: %d\r\n", 
+					name, ast_inet_ntoa(sin->sin_addr), ntohs(sin->sin_port));
 			break;
 		case AUTH_USERNAME_MISMATCH:
 			/* Username and digest username does not match. 
@@ -10432,6 +10435,9 @@
 			   users to use the same authentication user name until we support
 			   proper authentication by digest auth name */
 			transmit_response(p, "403 Authentication user name does not match account name", &p->initreq);
+			if (global_authfailureevents)
+				manager_event(EVENT_FLAG_SYSTEM, "PeerStatus", "ChannelType: SIP\r\nPeer: SIP/%s\r\nPeerStatus: Rejected\r\nCause: AUTH_USERNAME_MISMATCH\r\nAddress: %s\r\nPort: %d\r\n", 
+					name, ast_inet_ntoa(sin->sin_addr), ntohs(sin->sin_port));
 			break;
 		case AUTH_NOT_FOUND:
 		case AUTH_PEER_NOT_DYNAMIC:
@@ -10440,10 +10446,17 @@
 				transmit_fake_auth_response(p, &p->initreq, 1);
 			} else {
 				/* URI not found */
-				if (res == AUTH_PEER_NOT_DYNAMIC)
+				if (res == AUTH_PEER_NOT_DYNAMIC) {
 					transmit_response(p, "403 Forbidden", &p->initreq);
+					if (global_authfailureevents)
+						manager_event(EVENT_FLAG_SYSTEM, "PeerStatus", "ChannelType: SIP\r\nPeer: SIP/%s\r\nPeerStatus: Rejected\r\nCause: AUTH_PEER_NOT_DYNAMIC\r\nAddress: %s\r\nPort: %d\r\n", 
+							name, ast_inet_ntoa(sin->sin_addr), ntohs(sin->sin_port));
+					}
 				else
 					transmit_response(p, "404 Not found", &p->initreq);
+					if (global_authfailureevents)
+						manager_event(EVENT_FLAG_SYSTEM, "PeerStatus", "ChannelType: SIP\r\nPeer: SIP/%s\r\nPeerStatus: Rejected\r\nCause: URI_NOT_FOUND\r\nAddress: %s\r\nPort: %d\r\n", 
+							name, ast_inet_ntoa(sin->sin_addr), ntohs(sin->sin_port));
 			}
 			break;
 		default:
@@ -12956,6 +12969,7 @@
 	ast_cli(a->fd, "  From: Domain:           %s\n", default_fromdomain);
 	ast_cli(a->fd, "  Record SIP history:     %s\n", recordhistory ? "On" : "Off");
 	ast_cli(a->fd, "  Call Events:            %s\n", global_callevents ? "On" : "Off");
+	ast_cli(a->fd, "  Auth. Failure Events:   %s\n", global_authfailureevents ? "On" : "Off");
 
 	ast_cli(a->fd, "  T38 fax pt UDPTL:       %s\n", cli_yesno(ast_test_flag(&global_flags[1], SIP_PAGE2_T38SUPPORT_UDPTL)));
 #ifdef WHEN_WE_HAVE_T38_FOR_OTHER_TRANSPORTS
@@ -16747,7 +16761,7 @@
 				/* Respond to normal re-invite */
 				if (sendok) {
 					/* If this is not a re-invite or something to ignore - it's critical */
-					transmit_response_with_sdp(p, "200 OK", req, (reinvite || req->ignore) ?  XMIT_UNRELIABLE : XMIT_CRITICAL, p->session_modify == TRUE ? FALSE:TRUE); 
+					transmit_response_with_sdp(p, "200 OK", req, (reinvite ? XMIT_RELIABLE : (req->ignore ?  XMIT_UNRELIABLE : XMIT_CRITICAL)), p->session_modify == TRUE ? FALSE:TRUE); 
 				}
 			}
 			p->invitestate = INV_TERMINATED;
@@ -20265,6 +20279,7 @@
 	/* Misc settings for the channel */
 	global_relaxdtmf = FALSE;
 	global_callevents = FALSE;
+	global_authfailureevents = FALSE;
 	global_t1 = SIP_TIMER_T1;
 	global_timer_b = 64 * SIP_TIMER_T1;
 	global_t1min = DEFAULT_T1MIN;
@@ -20576,6 +20591,8 @@
 			}
 		} else if (!strcasecmp(v->name, "callevents")) {
 			global_callevents = ast_true(v->value);
+		} else if (!strcasecmp(v->name, "authfailureevents")) {
+			global_authfailureevents = ast_true(v->value);
 		} else if (!strcasecmp(v->name, "maxcallbitrate")) {
 			default_maxcallbitrate = atoi(v->value);
 			if (default_maxcallbitrate < 0)

Modified: team/oej/calleridutf8/channels/chan_skinny.c
URL: http://svn.digium.com/view/asterisk/team/oej/calleridutf8/channels/chan_skinny.c?view=diff&rev=110626&r1=110625&r2=110626
==============================================================================
--- team/oej/calleridutf8/channels/chan_skinny.c (original)
+++ team/oej/calleridutf8/channels/chan_skinny.c Tue Mar 25 06:16:25 2008
@@ -3382,6 +3382,7 @@
 	transmit_callinfo(s, ast->cid.cid_name, ast->cid.cid_num, exten, exten, l->instance, sub->callid, 2);
 	transmit_callstate(s, l->instance, SKINNY_CONNECTED, sub->callid);
 	transmit_selectsoftkeys(s, l->instance, sub->callid, KEYDEF_CONNECTED);
+	transmit_dialednumber(s, exten, l->instance, sub->callid);
 	transmit_displaypromptstatus(s, "Connected", 0, l->instance, sub->callid);
 	return res;
 }

Modified: team/oej/calleridutf8/configs/sip.conf.sample
URL: http://svn.digium.com/view/asterisk/team/oej/calleridutf8/configs/sip.conf.sample?view=diff&rev=110626&r1=110625&r2=110626
==============================================================================
--- team/oej/calleridutf8/configs/sip.conf.sample (original)
+++ team/oej/calleridutf8/configs/sip.conf.sample Tue Mar 25 06:16:25 2008
@@ -218,6 +218,8 @@
 				; for peers and users as well
 ;callevents=no			; generate manager events when sip ua 
 				; performs events (e.g. hold)
+;authfailureevents=no		; generate manager "peerstatus" events when peer can't
+				; authenticate with Asterisk. Peerstatus will be "rejected".
 ;alwaysauthreject = yes		; When an incoming INVITE or REGISTER is to be rejected,
  		    		; for any reason, always reject with '401 Unauthorized'
  				; instead of letting the requester know whether there was

Modified: team/oej/calleridutf8/configs/sip_notify.conf.sample
URL: http://svn.digium.com/view/asterisk/team/oej/calleridutf8/configs/sip_notify.conf.sample?view=diff&rev=110626&r1=110625&r2=110626
==============================================================================
--- team/oej/calleridutf8/configs/sip_notify.conf.sample (original)
+++ team/oej/calleridutf8/configs/sip_notify.conf.sample Tue Mar 25 06:16:25 2008
@@ -20,3 +20,13 @@
 [snom-check-cfg]
 Event=>check-sync\;reboot=false
 Content-Length=>0
+
+; Tested
+[aastra-check-cfg]
+Event=>check-sync
+Content-Length=>0
+
+; Tested
+[aastra-xml]
+Event=>aastra-xml
+Content-Length=>0

Modified: team/oej/calleridutf8/configure.ac
URL: http://svn.digium.com/view/asterisk/team/oej/calleridutf8/configure.ac?view=diff&rev=110626&r1=110625&r2=110626
==============================================================================
--- team/oej/calleridutf8/configure.ac (original)
+++ team/oej/calleridutf8/configure.ac Tue Mar 25 06:16:25 2008
@@ -207,9 +207,11 @@
 AST_EXT_LIB_SETUP([CURL], [cURL], [curl])
 AST_EXT_LIB_SETUP([CURSES], [curses], [curses])
 AST_EXT_LIB_SETUP([CRYPTO], [OpenSSL Cryptography support], [crypto])
+AST_EXT_LIB_SETUP([FFMPEG], [Ffmpeg and avcodec library], [avcodec])
 AST_EXT_LIB_SETUP([GSM], [External GSM library], [gsm], [, use 'internal' GSM otherwise])
 AST_EXT_LIB_SETUP([GTK], [gtk libraries], [gtk])
 AST_EXT_LIB_SETUP([GTK2], [gtk2 libraries], [gtk2])
+AST_EXT_LIB_SETUP([GMIME], [GMime library], [gmime])
 AST_EXT_LIB_SETUP([ICONV], [Iconv Library], [iconv])
 AST_EXT_LIB_SETUP([IKSEMEL], [Iksemel Jabber Library], [iksemel])
 AST_EXT_LIB_SETUP([IMAP_TK], [UW IMAP Toolkit], [imap])
@@ -235,6 +237,8 @@
 AST_EXT_LIB_SETUP([PWLIB], [PWlib], [pwlib])
 AST_EXT_LIB_SETUP([OPENH323], [OpenH323], [h323])
 AST_EXT_LIB_SETUP([RADIUS], [Radius Client], [radius])
+AST_EXT_LIB_SETUP([SDL], [Sdl], [sdl])
+AST_EXT_LIB_SETUP([SDL_IMAGE], [Sdl Image library], [SDL_image])
 AST_EXT_LIB_SETUP([SPEEX], [Speex], [speex])
 AST_EXT_LIB_SETUP([SPEEXDSP], [Speexdsp], [speexdsp])
 AST_EXT_LIB_SETUP([SQLITE], [SQLite], [sqlite])
@@ -251,16 +255,6 @@
 AST_EXT_LIB_SETUP([X11], [X11 support], [x11])
 AST_EXT_LIB_SETUP([ZLIB], [zlib], [z])
 AST_EXT_LIB_SETUP([ZAPTEL], [Zaptel], [zaptel])
-AST_EXT_LIB_SETUP([ZAPTEL_TRANSCODE], [Zaptel Transcoder Support], [zaptel_transcode])
-AST_EXT_LIB_SETUP([ZAPTEL_VLDTMF], [Zaptel VLDTMF Support], [zaptel_vldtmf])
-AST_EXT_LIB_SETUP([ZAPTEL_HWGAIN], [Zaptel Hardware Gain Support], [zaptel_hwgain])
-AST_EXT_LIB_SETUP([ZAPTEL_NEONMWI], [Zaptel Neon MWI Support], [zaptel_neonmwi])
-AST_EXT_LIB_SETUP([ZAPTEL_ECHOCANPARAMS], [Zaptel Echo Canceler Parameter Support], [zaptel_echocanparams])
-AST_EXT_LIB_SETUP([ZAPTEL_CHANALARMS], [Zaptel Channel Alarm Support], [zaptel_chanalarms])
-
-AST_EXT_LIB_SETUP([SDL], [Sdl], [sdl])
-AST_EXT_LIB_SETUP([SDL_IMAGE], [Sdl Image library], [SDL_image])
-AST_EXT_LIB_SETUP([FFMPEG], [Ffmpeg and avcodec library], [avcodec])
 
 # check for basic system features and functionality before
 # checking for package libraries
@@ -1337,6 +1331,8 @@
     AST_EXT_LIB_CHECK([OSPTK], [osptk], [OSPPCryptoDecrypt], [osp/osp.h], [-lcrypto -lssl])
 fi
 
+AST_EXT_TOOL_CHECK([GMIME], [gmime])
+
 AST_EXT_LIB_CHECK([FREETDS], [tds], [tds_version], [tds.h])
 if test "${PBX_FREETDS}" != "0";
 then

Modified: team/oej/calleridutf8/contrib/init.d/rc.suse.asterisk
URL: http://svn.digium.com/view/asterisk/team/oej/calleridutf8/contrib/init.d/rc.suse.asterisk?view=diff&rev=110626&r1=110625&r2=110626
==============================================================================
--- team/oej/calleridutf8/contrib/init.d/rc.suse.asterisk (original)
+++ team/oej/calleridutf8/contrib/init.d/rc.suse.asterisk Tue Mar 25 06:16:25 2008
@@ -22,7 +22,7 @@
 
 ### BEGIN INIT INFO
 # Provides:                    asterisk
-# Required-Start:      +zaptel
+# Required-Start:      +zaptel $network $named
 # Required-Stop:
 # Default-Start:     3 5
 # Default-Stop:      0 1 2 4 6

Modified: team/oej/calleridutf8/include/asterisk/autoconfig.h.in
URL: http://svn.digium.com/view/asterisk/team/oej/calleridutf8/include/asterisk/autoconfig.h.in?view=diff&rev=110626&r1=110625&r2=110626
==============================================================================
--- team/oej/calleridutf8/include/asterisk/autoconfig.h.in (original)
+++ team/oej/calleridutf8/include/asterisk/autoconfig.h.in Tue Mar 25 06:16:25 2008
@@ -308,6 +308,9 @@
 
 /* Define to 1 if you have the `glob' function. */
 #undef HAVE_GLOB
+
+/* Define if your system has the GMIME libraries. */
+#undef HAVE_GMIME
 
 /* Define to indicate the GSM library */
 #undef HAVE_GSM
@@ -1175,9 +1178,6 @@
 #ifndef _POSIX_PTHREAD_SEMANTICS
 # undef _POSIX_PTHREAD_SEMANTICS
 #endif
-#ifndef _TANDEM_SOURCE
-# undef _TANDEM_SOURCE
-#endif
 
 /* Define like PROTOTYPES; this can be used by system headers. */
 #undef __PROTOTYPES

Modified: team/oej/calleridutf8/include/asterisk/dnsmgr.h
URL: http://svn.digium.com/view/asterisk/team/oej/calleridutf8/include/asterisk/dnsmgr.h?view=diff&rev=110626&r1=110625&r2=110626
==============================================================================
--- team/oej/calleridutf8/include/asterisk/dnsmgr.h (original)
+++ team/oej/calleridutf8/include/asterisk/dnsmgr.h Tue Mar 25 06:16:25 2008
@@ -29,12 +29,52 @@
 
 #include "asterisk/network.h"
 
+/*!
+ * \brief A DNS manager entry
+ *
+ * This is an opaque type.
+ */
 struct ast_dnsmgr_entry;
 
+/*!
+ * \brief Allocate a new DNS manager entry
+ *
+ * \arg name the hostname
+ * \arg result where the DNS manager should store the IP address as it refreshes it.
+ *      it.
+ *
+ * This function allocates a new DNS manager entry object, and fills it with the
+ * provided hostname and IP address.  This function does not force an initial lookup
+ * of the IP address.  So, generally, this should be used when the initial address
+ * is already known.
+ *
+ * \return a DNS manager entry
+ */
 struct ast_dnsmgr_entry *ast_dnsmgr_get(const char *name, struct in_addr *result);
 
+/*!
+ * \brief Free a DNS manager entry
+ *
+ * \arg entry the DNS manager entry to free
+ *
+ * \return nothing
+ */
 void ast_dnsmgr_release(struct ast_dnsmgr_entry *entry);
 
+/*!
+ * \brief Allocate and initialize a DNS manager entry
+ *
+ * \arg name the hostname
+ * \arg result where to store the IP address as the DNS manager refreshes it
+ * \arg dnsmgr Where to store the allocate DNS manager entry
+ *
+ * This function allocates a new DNS manager entry object, and fills it with
+ * the provided hostname and IP address.  This function _does_ force an initial
+ * lookup, so it may block for some period of time.
+ *
+ * \retval 0 success
+ * \retval non-zero failure
+ */
 int ast_dnsmgr_lookup(const char *name, struct in_addr *result, struct ast_dnsmgr_entry **dnsmgr);
 
 /*!

Modified: team/oej/calleridutf8/include/asterisk/pbx.h
URL: http://svn.digium.com/view/asterisk/team/oej/calleridutf8/include/asterisk/pbx.h?view=diff&rev=110626&r1=110625&r2=110626
==============================================================================
--- team/oej/calleridutf8/include/asterisk/pbx.h (original)
+++ team/oej/calleridutf8/include/asterisk/pbx.h Tue Mar 25 06:16:25 2008
@@ -758,6 +758,8 @@
 const char *ast_get_ignorepat_name(struct ast_ignorepat *ip);
 const char *ast_get_switch_name(struct ast_sw *sw);
 const char *ast_get_switch_data(struct ast_sw *sw);
+int ast_get_switch_eval(struct ast_sw *sw);
+	
 /*! @} */
 
 /*! @name Other Extension stuff */

Modified: team/oej/calleridutf8/main/Makefile
URL: http://svn.digium.com/view/asterisk/team/oej/calleridutf8/main/Makefile?view=diff&rev=110626&r1=110625&r2=110626
==============================================================================
--- team/oej/calleridutf8/main/Makefile (original)
+++ team/oej/calleridutf8/main/Makefile Tue Mar 25 06:16:25 2008
@@ -132,6 +132,11 @@
 
 channel.o: ASTCFLAGS+=$(ZAPTEL_INCLUDE)
 
+
+ifneq ($(findstring ENABLE_UPLOADS,$(MENUSELECT_CFLAGS)),)
+http.o: ASTCFLAGS+=$(GMIME_INCLUDE)
+endif
+
 stdtime/localtime.o: ASTCFLAGS+=$(AST_NO_STRICT_OVERFLOW)
 
 AST_EMBED_LDSCRIPTS:=$(sort $(EMBED_LDSCRIPTS))
@@ -146,9 +151,6 @@
   H323LDLIBS=
 endif
 
-minimime/libmmime.a: CHECK_SUBDIR
-	@cd minimime && $(MAKE) libmmime.a
-
 ifneq ($(findstring $(OSARCH), mingw32 cygwin ),)
 MAIN_TGT:=asterisk.dll
 asterisk: cygload
@@ -159,13 +161,17 @@
 MAIN_TGT:=asterisk
 endif
 
-$(MAIN_TGT): $(OBJS) editline/libedit.a db1-ast/libdb1.a minimime/libmmime.a $(AST_EMBED_LDSCRIPTS)
+ifneq ($(findstring ENABLE_UPLOADS,$(MENUSELECT_CFLAGS)),)
+GMIMELDFLAGS+=$(GMIME_LIB)
+endif
+
+$(MAIN_TGT): $(OBJS) editline/libedit.a db1-ast/libdb1.a $(AST_EMBED_LDSCRIPTS)
 	@$(CC) -c -o buildinfo.o $(ASTCFLAGS) buildinfo.c
 	$(ECHO_PREFIX) echo "   [LD] $^ -> $@"
 ifneq ($(findstring chan_h323,$(MENUSELECT_CHANNELS)),)
-	$(CMD_PREFIX) $(CC) $(STATIC_BUILD) -o $@ $(ASTLINK) $(AST_EMBED_LDFLAGS) $(ASTLDFLAGS) $^ buildinfo.o $(AST_LIBS) $(AST_EMBED_LIBS)
+	$(CMD_PREFIX) $(CC) $(STATIC_BUILD) -o $@ $(ASTLINK) $(AST_EMBED_LDFLAGS) $(ASTLDFLAGS) $^ buildinfo.o $(AST_LIBS) $(AST_EMBED_LIBS) $(GMIMELDFLAGS)
 else
-	$(CMD_PREFIX) $(CXX) $(STATIC_BUILD) -o $@ $(ASTLINK) $(AST_EMBED_LDFLAGS) $(ASTLDFLAGS) $(H323LDFLAGS) $^ buildinfo.o $(AST_LIBS) $(AST_EMBED_LIBS) $(H323LDLIBS)
+	$(CMD_PREFIX) $(CXX) $(STATIC_BUILD) -o $@ $(ASTLINK) $(AST_EMBED_LDFLAGS) $(ASTLDFLAGS) $(H323LDFLAGS) $^ buildinfo.o $(AST_LIBS) $(AST_EMBED_LIBS) $(H323LDLIBS) $(GMIMELDFLAGS)
 endif
 	$(CMD_PREFIX) $(ASTTOPDIR)/build_tools/strip_nonapi $@ || rm $@
 
@@ -175,5 +181,4 @@
 	@if [ -f editline/Makefile ]; then $(MAKE) -C editline distclean ; fi
 	@$(MAKE) -C db1-ast clean
 	@$(MAKE) -C stdtime clean
-	@$(MAKE) -C minimime clean
 	rm -f libresample/src/*.o

Modified: team/oej/calleridutf8/main/dial.c
URL: http://svn.digium.com/view/asterisk/team/oej/calleridutf8/main/dial.c?view=diff&rev=110626&r1=110625&r2=110626
==============================================================================
--- team/oej/calleridutf8/main/dial.c (original)
+++ team/oej/calleridutf8/main/dial.c Tue Mar 25 06:16:25 2008
@@ -426,6 +426,7 @@
 			if (option_verbose > 2)
 				ast_verbose (VERBOSE_PREFIX_3 "%s requested a source update, passing it to %s\n", channel->owner->name, chan->name);
 			ast_indicate(chan, AST_CONTROL_SRCUPDATE);
+			break;
 		case AST_CONTROL_PROCEEDING:
 			ast_verb(3, "%s is proceeding, passing it to %s\n", channel->owner->name, chan->name);
 			ast_indicate(chan, AST_CONTROL_PROCEEDING);

Modified: team/oej/calleridutf8/main/features.c
URL: http://svn.digium.com/view/asterisk/team/oej/calleridutf8/main/features.c?view=diff&rev=110626&r1=110625&r2=110626
==============================================================================
--- team/oej/calleridutf8/main/features.c (original)
+++ team/oej/calleridutf8/main/features.c Tue Mar 25 06:16:25 2008
@@ -231,7 +231,7 @@
 
 	goto_on_transfer = ast_strdupa(val);
 
-	if (!(xferchan = ast_channel_alloc(0, AST_STATE_DOWN, 0, 0, "", "", "", 0, chan->name)))
+	if (!(xferchan = ast_channel_alloc(0, AST_STATE_DOWN, 0, 0, "", "", "", "", "", 0, chan->name)))
 		return;
 
 	for (x = goto_on_transfer; x && *x; x++) {
@@ -255,7 +255,7 @@
 	}
 }
 
-static struct ast_channel *ast_feature_request_and_dial(struct ast_channel *caller, struct ast_channel *transferee, const char *type, int format, void *data, int timeout, int *outstate, const char *cid_num, const char *cid_name, int igncallerstate, const char *language);
+static struct ast_channel *ast_feature_request_and_dial(struct ast_channel *caller, struct ast_channel *transferee, const char *type, int format, void *data, int timeout, int *outstate, const char *cid_num, const char *cid_name, const char *cid_utf8name, int igncallerstate, const char *language);
 
 /*!
  * \brief bridge the call 
@@ -527,7 +527,7 @@
 	char *orig_chan_name = NULL;
 
 	/* Make a new, fake channel that we'll use to masquerade in the real one */
-	if (!(chan = ast_channel_alloc(0, AST_STATE_DOWN, 0, 0, rchan->accountcode, rchan->exten, rchan->context, rchan->amaflags, "Parked/%s",rchan->name))) {
+	if (!(chan = ast_channel_alloc(0, AST_STATE_DOWN, 0, 0, 0, 0, rchan->accountcode, rchan->exten, rchan->context, rchan->amaflags, "Parked/%s",rchan->name))) {
 		ast_log(LOG_WARNING, "Unable to create parked channel\n");
 		return -1;
 	}
@@ -1060,7 +1060,7 @@
 	l = strlen(xferto);
 	snprintf(xferto + l, sizeof(xferto) - l, "@%s/n", transferer_real_context);	/* append context */
 	newchan = ast_feature_request_and_dial(transferer, transferee, "Local", ast_best_codec(transferer->nativeformats),
-		xferto, atxfernoanswertimeout, &outstate, transferer->cid.cid_num, transferer->cid.cid_name, 1, transferer->language);
+		xferto, atxfernoanswertimeout, &outstate, transferer->cid.cid_num, transferer->cid.cid_name, transferer->cid.cid_utf8name, 1, transferer->language);
 
 	if (!ast_check_hangup(transferer)) {
 		/* Transferer is up - old behaviour */
@@ -1107,7 +1107,7 @@
 			ast_hangup(newchan);
 			return -1;
 		}
-		xferchan = ast_channel_alloc(0, AST_STATE_DOWN, 0, 0, "", "", "", 0, "Transfered/%s", transferee->name);
+		xferchan = ast_channel_alloc(0, AST_STATE_DOWN, 0, 0, "", "", "", "", "", 0, "Transfered/%s", transferee->name);
 		if (!xferchan) {
 			ast_hangup(newchan);
 			return -1;
@@ -1162,14 +1162,14 @@
 
 			ast_log(LOG_NOTICE, "We're trying to call %s/%s\n", transferer_tech, transferer_name);
 			newchan = ast_feature_request_and_dial(transferee, NULL, transferer_tech, ast_best_codec(transferee->nativeformats),
-				transferer_name, atxfernoanswertimeout, &outstate, transferee->cid.cid_num, transferee->cid.cid_name, 0, transferer->language);
+				transferer_name, atxfernoanswertimeout, &outstate, transferee->cid.cid_num, transferee->cid.cid_name, transferee->cid.cid_utf8name, 0, transferer->language);
 			while (!newchan && !atxferdropcall && tries < atxfercallbackretries) {
 				/* Trying to transfer again */
 				ast_autoservice_start(transferee);
 				ast_indicate(transferee, AST_CONTROL_HOLD);
 
 				newchan = ast_feature_request_and_dial(transferer, transferee, "Local", ast_best_codec(transferer->nativeformats),
-					xferto, atxfernoanswertimeout, &outstate, transferer->cid.cid_num, transferer->cid.cid_name, 1, transferer->language);
+					xferto, atxfernoanswertimeout, &outstate, transferer->cid.cid_num, transferer->cid.cid_name, transferer->cid.cid_utf8name, 1, transferer->language);
 				if (ast_autoservice_stop(transferee) < 0) {
 					if (newchan)
 						ast_hangup(newchan);
@@ -1181,7 +1181,7 @@
 					ast_safe_sleep(transferee, atxferloopdelay);
 					ast_debug(1, "Trying to callback...\n");
 					newchan = ast_feature_request_and_dial(transferee, NULL, transferer_tech, ast_best_codec(transferee->nativeformats),
-						transferer_name, atxfernoanswertimeout, &outstate, transferee->cid.cid_num, transferee->cid.cid_name, 0, transferer->language);
+						transferer_name, atxfernoanswertimeout, &outstate, transferee->cid.cid_num, transferee->cid.cid_name, transferee->cid.cid_utf8name, 0, transferer->language);
 				}
 				tries++;
 			}
@@ -1204,7 +1204,7 @@
 			return -1;
 		}
 
-		xferchan = ast_channel_alloc(0, AST_STATE_DOWN, 0, 0, "", "", "", 0, "Transfered/%s", transferee->name);
+		xferchan = ast_channel_alloc(0, AST_STATE_DOWN, 0, 0, "", "", "", "", "", 0, "Transfered/%s", transferee->name);
 		if (!xferchan) {
 			ast_hangup(newchan);
 			return -1;
@@ -1689,7 +1689,7 @@
  * \todo XXX Check - this is very similar to the code in channel.c 
  * \return always a channel
 */
-static struct ast_channel *ast_feature_request_and_dial(struct ast_channel *caller, struct ast_channel *transferee, const char *type, int format, void *data, int timeout, int *outstate, const char *cid_num, const char *cid_name, int igncallerstate, const char *language)
+static struct ast_channel *ast_feature_request_and_dial(struct ast_channel *caller, struct ast_channel *transferee, const char *type, int format, void *data, int timeout, int *outstate, const char *cid_num, const char *cid_name, const char *cid_utf8name, int igncallerstate, const char *language)
 {
 	int state = 0;
 	int cause = 0;
@@ -1700,7 +1700,7 @@
 	int res = 0, ready = 0;
 
 	if ((chan = ast_request(type, format, data, &cause))) {
-		ast_set_callerid(chan, cid_num, cid_name, cid_num);
+		ast_set_callerid(chan, cid_num, cid_name, cid_utf8name, cid_num, "");
 		ast_string_field_set(chan, language, language);
 		ast_channel_inherit_variables(caller, chan);	
 		pbx_builtin_setvar_helper(chan, "TRANSFERERNAME", caller->name);
@@ -3003,14 +3003,14 @@
 		ast_answer(chanb);
 
 	/* create the placeholder channels and grab the other channels */
-	if (!(tmpchana = ast_channel_alloc(0, AST_STATE_DOWN, NULL, NULL, NULL, 
-		NULL, NULL, 0, "Bridge/%s", chana->name))) {
+	if (!(tmpchana = ast_channel_alloc(0, AST_STATE_DOWN, NULL, NULL, NULL, NULL,
+		NULL, NULL, NULL, 0, "Bridge/%s", chana->name))) {
 		astman_send_error(s, m, "Unable to create temporary channel!");
 		return 1;
 	}
 
-	if (!(tmpchanb = ast_channel_alloc(0, AST_STATE_DOWN, NULL, NULL, NULL, 
-		NULL, NULL, 0, "Bridge/%s", chanb->name))) {
+	if (!(tmpchanb = ast_channel_alloc(0, AST_STATE_DOWN, NULL, NULL, NULL, NULL,
+		NULL, NULL, NULL, 0, "Bridge/%s", chanb->name))) {
 		astman_send_error(s, m, "Unable to create temporary channels!");
 		ast_channel_free(tmpchana);
 		return 1;
@@ -3363,8 +3363,8 @@
 		ast_answer(current_dest_chan);
 
 	/* try to allocate a place holder where current_dest_chan will be placed */
-	if (!(final_dest_chan = ast_channel_alloc(0, AST_STATE_DOWN, NULL, NULL, NULL, 
-		NULL, NULL, 0, "Bridge/%s", current_dest_chan->name))) {
+	if (!(final_dest_chan = ast_channel_alloc(0, AST_STATE_DOWN, NULL, NULL, NULL, NULL,
+		NULL, NULL, NULL, 0, "Bridge/%s", current_dest_chan->name))) {
 		ast_log(LOG_WARNING, "Cannot create placeholder channel for chan %s\n", args.dest_chan);
 		manager_event(EVENT_FLAG_CALL, "BridgeExec",
 					"Response: Failed\r\n"

Modified: team/oej/calleridutf8/main/http.c
URL: http://svn.digium.com/view/asterisk/team/oej/calleridutf8/main/http.c?view=diff&rev=110626&r1=110625&r2=110626
==============================================================================
--- team/oej/calleridutf8/main/http.c (original)
+++ team/oej/calleridutf8/main/http.c Tue Mar 25 06:16:25 2008
@@ -40,7 +40,9 @@
 #include <sys/signal.h>
 #include <fcntl.h>
 
-#include "minimime/mm.h"
+#ifdef ENABLE_UPLOADS
+#include <gmime/gmime.h>
+#endif /* ENABLE_UPLOADS */
 
 #include "asterisk/cli.h"
 #include "asterisk/tcptls.h"
@@ -88,6 +90,7 @@
 

[... 493 lines stripped ...]



More information about the asterisk-commits mailing list