[asterisk-commits] oej: branch oej/calleridutf8 r89565 - in /team/oej/calleridutf8: apps/ channe...

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Sun Nov 25 14:57:13 CST 2007


Author: oej
Date: Sun Nov 25 14:57:12 2007
New Revision: 89565

URL: http://svn.digium.com/view/asterisk?view=rev&rev=89565
Log:
Major update of some internal functions that pass the caller ID name

Modified:
    team/oej/calleridutf8/apps/app_dial.c
    team/oej/calleridutf8/apps/app_disa.c
    team/oej/calleridutf8/apps/app_followme.c
    team/oej/calleridutf8/apps/app_minivm.c
    team/oej/calleridutf8/apps/app_parkandannounce.c
    team/oej/calleridutf8/apps/app_privacy.c
    team/oej/calleridutf8/apps/app_rpt.c
    team/oej/calleridutf8/apps/app_voicemail.c
    team/oej/calleridutf8/channels/chan_agent.c
    team/oej/calleridutf8/channels/chan_alsa.c
    team/oej/calleridutf8/channels/chan_features.c
    team/oej/calleridutf8/channels/chan_gtalk.c
    team/oej/calleridutf8/channels/chan_h323.c
    team/oej/calleridutf8/channels/chan_iax2.c
    team/oej/calleridutf8/channels/chan_jingle.c
    team/oej/calleridutf8/channels/chan_local.c
    team/oej/calleridutf8/channels/chan_mgcp.c
    team/oej/calleridutf8/channels/chan_misdn.c
    team/oej/calleridutf8/channels/chan_nbs.c
    team/oej/calleridutf8/channels/chan_oss.c
    team/oej/calleridutf8/channels/chan_phone.c
    team/oej/calleridutf8/channels/chan_sip.c
    team/oej/calleridutf8/channels/chan_skinny.c
    team/oej/calleridutf8/channels/chan_unistim.c
    team/oej/calleridutf8/channels/chan_usbradio.c
    team/oej/calleridutf8/channels/chan_zap.c
    team/oej/calleridutf8/funcs/func_callerid.c
    team/oej/calleridutf8/include/asterisk/channel.h
    team/oej/calleridutf8/main/channel.c
    team/oej/calleridutf8/main/logger.c
    team/oej/calleridutf8/main/pbx.c
    team/oej/calleridutf8/res/res_agi.c
    team/oej/calleridutf8/res/res_features.c

Modified: team/oej/calleridutf8/apps/app_dial.c
URL: http://svn.digium.com/view/asterisk/team/oej/calleridutf8/apps/app_dial.c?view=diff&rev=89565&r1=89564&r2=89565
==============================================================================
--- team/oej/calleridutf8/apps/app_dial.c (original)
+++ team/oej/calleridutf8/apps/app_dial.c Sun Nov 25 14:57:12 2007
@@ -531,7 +531,7 @@
 			/* After calling, set callerid to extension */
 			if (!ast_test_flag64(peerflags, OPT_ORIGINAL_CLID)) {
 				char cidname[AST_MAX_EXTENSION] = "";
-				ast_set_callerid(c, S_OR(in->macroexten, in->exten), get_cid_name(cidname, sizeof(cidname), in), NULL);
+				ast_set_callerid(c, S_OR(in->macroexten, in->exten), get_cid_name(cidname, sizeof(cidname), in), NULL, NULL, NULL);
 			}
 			/* Hangup the original channel now, in case we needed it */
 			ast_hangup(original);
@@ -1436,7 +1436,7 @@
 			senddialevent(chan, tc);
 			ast_verb(3, "Called %s\n", numsubst);
 			if (!ast_test_flag64(peerflags, OPT_ORIGINAL_CLID))
-				ast_set_callerid(tc, S_OR(chan->macroexten, chan->exten), get_cid_name(cidname, sizeof(cidname), chan), NULL);
+				ast_set_callerid(tc, S_OR(chan->macroexten, chan->exten), get_cid_name(cidname, sizeof(cidname), chan), NULL, NULL, NULL);
 		}
 		/* Put them in the list of outgoing thingies...  We're ready now. 
 		   XXX If we're forcibly removed, these outgoing calls won't get

Modified: team/oej/calleridutf8/apps/app_disa.c
URL: http://svn.digium.com/view/asterisk/team/oej/calleridutf8/apps/app_disa.c?view=diff&rev=89565&r1=89564&r2=89565
==============================================================================
--- team/oej/calleridutf8/apps/app_disa.c (original)
+++ team/oej/calleridutf8/apps/app_disa.c Sun Nov 25 14:57:12 2007
@@ -329,7 +329,7 @@
 			/* We're authenticated and have a target extension */
 			if (!ast_strlen_zero(args.cid)) {
 				ast_callerid_split(args.cid, ourcidname, sizeof(ourcidname), ourcidnum, sizeof(ourcidnum));
-				ast_set_callerid(chan, ourcidnum, ourcidname, ourcidnum);
+				ast_set_callerid(chan, ourcidnum, ourcidname, NULL, NULL, ourcidnum);	/* No support of cid_domain yet */
 			}
 
 			if (!ast_strlen_zero(acctcode))

Modified: team/oej/calleridutf8/apps/app_followme.c
URL: http://svn.digium.com/view/asterisk/team/oej/calleridutf8/apps/app_followme.c?view=diff&rev=89565&r1=89564&r2=89565
==============================================================================
--- team/oej/calleridutf8/apps/app_followme.c (original)
+++ team/oej/calleridutf8/apps/app_followme.c Sun Nov 25 14:57:12 2007
@@ -790,7 +790,7 @@
 					
 			outbound = ast_request("Local", ast_best_codec(caller->nativeformats), dialarg, &dg);
 			if (outbound) {
-				ast_set_callerid(outbound, caller->cid.cid_num, caller->cid.cid_name, caller->cid.cid_num);
+				ast_set_callerid(outbound, caller->cid.cid_num, caller->cid.cid_name, caller->cid.cid_utf8name, caller->cid.cid_domain, caller->cid.cid_num);
 				ast_channel_inherit_variables(tpargs->chan, outbound);
 				ast_verb(3, "calling %s\n", dialarg);
 				if (!ast_call(outbound,dialarg,0)) {

Modified: team/oej/calleridutf8/apps/app_minivm.c
URL: http://svn.digium.com/view/asterisk/team/oej/calleridutf8/apps/app_minivm.c?view=diff&rev=89565&r1=89564&r2=89565
==============================================================================
--- team/oej/calleridutf8/apps/app_minivm.c (original)
+++ team/oej/calleridutf8/apps/app_minivm.c Sun Nov 25 14:57:12 2007
@@ -960,7 +960,7 @@
 		return -1;
 	}
 	/* Allocate channel used for chanvar substitution */
-	ast = ast_channel_alloc(0, AST_STATE_DOWN, 0, 0, "", "", "", 0, 0);
+	ast = ast_channel_alloc(0, AST_STATE_DOWN, 0, 0, "", "", "", "", "",0, 0);
 
 
 	snprintf(dur, sizeof(dur), "%d:%02d", duration / 60, duration % 60);

Modified: team/oej/calleridutf8/apps/app_parkandannounce.c
URL: http://svn.digium.com/view/asterisk/team/oej/calleridutf8/apps/app_parkandannounce.c?view=diff&rev=89565&r1=89564&r2=89565
==============================================================================
--- team/oej/calleridutf8/apps/app_parkandannounce.c (original)
+++ team/oej/calleridutf8/apps/app_parkandannounce.c Sun Nov 25 14:57:12 2007
@@ -122,7 +122,7 @@
 	snprintf(buf, sizeof(buf), "%d", lot);
 	oh.parent_channel = chan;
 	oh.vars = ast_variable_new("_PARKEDAT", buf, "");
-	dchan = __ast_request_and_dial(dialtech, AST_FORMAT_SLINEAR, args.dial, 30000, &outstate, chan->cid.cid_num, chan->cid.cid_name, &oh);
+	dchan = __ast_request_and_dial(dialtech, AST_FORMAT_SLINEAR, args.dial, 30000, &outstate, chan->cid.cid_num, chan->cid.cid_name, chan->cid.cid_utf8name, chan->cid.cid_domain, &oh);
 
 	if (dchan) {
 		if (dchan->_state == AST_STATE_UP) {

Modified: team/oej/calleridutf8/apps/app_privacy.c
URL: http://svn.digium.com/view/asterisk/team/oej/calleridutf8/apps/app_privacy.c?view=diff&rev=89565&r1=89564&r2=89565
==============================================================================
--- team/oej/calleridutf8/apps/app_privacy.c (original)
+++ team/oej/calleridutf8/apps/app_privacy.c Sun Nov 25 14:57:12 2007
@@ -170,7 +170,7 @@
 			if (!res)
 				res = ast_waitstream(chan, "");
 
-			ast_set_callerid (chan, phone, "Privacy Manager", NULL); 
+			ast_set_callerid (chan, phone, "Privacy Manager", NULL, NULL, NULL); 
 
 			/* Clear the unavailable presence bit so if it came in on PRI
 			 * the caller id will now be passed out to other channels

Modified: team/oej/calleridutf8/apps/app_rpt.c
URL: http://svn.digium.com/view/asterisk/team/oej/calleridutf8/apps/app_rpt.c?view=diff&rev=89565&r1=89564&r2=89565
==============================================================================
--- team/oej/calleridutf8/apps/app_rpt.c (original)
+++ team/oej/calleridutf8/apps/app_rpt.c Sun Nov 25 14:57:12 2007
@@ -6857,7 +6857,7 @@
 		phone_mode = 1;
 		if (*options == 'D')
 			phone_mode = 2;
-		ast_set_callerid(chan, "0", "app_rpt user", "0");
+		ast_set_callerid(chan, "0", "app_rpt user", NULL, NULL, "0");
 	} else {
 		if (strncmp(chan->name, "IAX2", 4)) {
 			ast_log(LOG_WARNING, "We only accept links via IAX2!!\n");

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=89565&r1=89564&r2=89565
==============================================================================
--- team/oej/calleridutf8/apps/app_voicemail.c (original)
+++ team/oej/calleridutf8/apps/app_voicemail.c Sun Nov 25 14:57:12 2007
@@ -1968,7 +1968,7 @@
 
 	if (!ast_strlen_zero(fromstring)) {
 		struct ast_channel *ast;
-		if ((ast = ast_channel_alloc(0, AST_STATE_DOWN, 0, 0, "", "", "", 0, 0))) {
+		if ((ast = ast_channel_alloc(0, AST_STATE_DOWN, 0, 0, "", "", "", "", "", 0, 0))) {
 			char *passdata;
 			int vmlen = strlen(fromstring)*3 + 200;
 			if ((passdata = alloca(vmlen))) {
@@ -1990,7 +1990,7 @@
 	fprintf(p, "To: %s <%s>" ENDL, quote(vmu->fullname, passdata2, len_passdata), vmu->email);
 	if (!ast_strlen_zero(emailsubject)) {
 		struct ast_channel *ast;
-		if ((ast = ast_channel_alloc(0, AST_STATE_DOWN, 0, 0, "", "", "", 0, 0))) {
+		if ((ast = ast_channel_alloc(0, AST_STATE_DOWN, 0, 0, "", "", "", "", "", 0, 0))) {
 			char *passdata;
 			int vmlen = strlen(emailsubject) * 3 + 200;
 			if ((passdata = alloca(vmlen))) {
@@ -2045,7 +2045,7 @@
 	fprintf(p, "Content-Type: text/plain; charset=%s" ENDL "Content-Transfer-Encoding: 8bit" ENDL ENDL, charset);
 	if (emailbody) {
 		struct ast_channel *ast;
-		if ((ast = ast_channel_alloc(0, AST_STATE_DOWN, 0, 0, "", "", "", 0, 0))) {
+		if ((ast = ast_channel_alloc(0, AST_STATE_DOWN, 0, 0, "", "", "", "", "", 0, 0))) {
 			char *passdata;
 			int vmlen = strlen(emailbody)*3 + 200;
 			if ((passdata = alloca(vmlen))) {
@@ -2164,7 +2164,7 @@
 
 	if (*pagerfromstring) {
 		struct ast_channel *ast;
-		if ((ast = ast_channel_alloc(0, AST_STATE_DOWN, 0, 0, "", "", "", 0, 0))) {
+		if ((ast = ast_channel_alloc(0, AST_STATE_DOWN, 0, 0, "", "", "", "", "", 0, 0))) {
 			char *passdata;
 			int vmlen = strlen(fromstring)*3 + 200;
 			if ((passdata = alloca(vmlen))) {
@@ -2182,7 +2182,7 @@
 	fprintf(p, "To: %s\n", pager);
 	if (pagersubject) {
 		struct ast_channel *ast;
-		if ((ast = ast_channel_alloc(0, AST_STATE_DOWN, 0, 0, "", "", "", 0, 0))) {
+		if ((ast = ast_channel_alloc(0, AST_STATE_DOWN, 0, 0, "", "", "", "", "", 0, 0))) {
 			char *passdata;
 			int vmlen = strlen(pagersubject) * 3 + 200;
 			if ((passdata = alloca(vmlen))) {
@@ -2201,7 +2201,7 @@
 	ast_strftime(date, sizeof(date), "%A, %B %d, %Y at %r", &tm);
 	if (pagerbody) {
 		struct ast_channel *ast;
-		if ((ast = ast_channel_alloc(0, AST_STATE_DOWN, 0, 0, "", "", "", 0, 0))) {
+		if ((ast = ast_channel_alloc(0, AST_STATE_DOWN, 0, 0, "", "", "", "", "", 0, 0))) {
 			char *passdata;
 			int vmlen = strlen(pagerbody) * 3 + 200;
 			passdata = alloca(vmlen);

Modified: team/oej/calleridutf8/channels/chan_agent.c
URL: http://svn.digium.com/view/asterisk/team/oej/calleridutf8/channels/chan_agent.c?view=diff&rev=89565&r1=89564&r2=89565
==============================================================================
--- team/oej/calleridutf8/channels/chan_agent.c (original)
+++ team/oej/calleridutf8/channels/chan_agent.c Sun Nov 25 14:57:12 2007
@@ -630,8 +630,7 @@
 		time(&p->start);
 		/* Call on this agent */
 		ast_verb(3, "outgoing agentcall, to agent '%s', on '%s'\n", p->agent, p->chan->name);
-		ast_set_callerid(p->chan,
-			ast->cid.cid_num, ast->cid.cid_name, NULL);
+		ast_set_callerid(p->chan, ast->cid.cid_num, ast->cid.cid_name, ast->cid.cid_utf8name, ast->cid.cid_domain, NULL);
 		ast_channel_inherit_variables(ast, p->chan);
 		res = ast_call(p->chan, p->loginchan, 0);
 		CLEANUP(ast,p);
@@ -927,9 +926,9 @@
 	}
 #endif	
 	if (p->pending)
-		tmp = ast_channel_alloc(0, state, 0, 0, "", p->chan ? p->chan->exten:"", p->chan ? p->chan->context:"", 0, "Agent/P%s-%d", p->agent, ast_random() & 0xffff);
+		tmp = ast_channel_alloc(0, state, 0, 0, "", p->chan ? p->chan->exten:"", p->chan ? p->chan->context:"", "", "", 0, "Agent/P%s-%d", p->agent, ast_random() & 0xffff);
 	else
-		tmp = ast_channel_alloc(0, state, 0, 0, "", p->chan ? p->chan->exten:"", p->chan ? p->chan->context:"", 0, "Agent/%s", p->agent);
+		tmp = ast_channel_alloc(0, state, 0, 0, "", p->chan ? p->chan->exten:"", p->chan ? p->chan->context:"", "", "", 0, "Agent/%s", p->agent);
 	if (!tmp) {
 		ast_log(LOG_WARNING, "Unable to allocate agent channel structure\n");
 		return NULL;

Modified: team/oej/calleridutf8/channels/chan_alsa.c
URL: http://svn.digium.com/view/asterisk/team/oej/calleridutf8/channels/chan_alsa.c?view=diff&rev=89565&r1=89564&r2=89565
==============================================================================
--- team/oej/calleridutf8/channels/chan_alsa.c (original)
+++ team/oej/calleridutf8/channels/chan_alsa.c Sun Nov 25 14:57:12 2007
@@ -780,7 +780,7 @@
 {
 	struct ast_channel *tmp = NULL;
 
-	if (!(tmp = ast_channel_alloc(1, state, 0, 0, "", p->exten, p->context, 0, "ALSA/%s", indevname)))
+	if (!(tmp = ast_channel_alloc(1, state, 0, 0, "", p->exten, p->context, "", "", 0, "ALSA/%s", indevname)))
 		return NULL;
 
 	tmp->tech = &alsa_tech;

Modified: team/oej/calleridutf8/channels/chan_features.c
URL: http://svn.digium.com/view/asterisk/team/oej/calleridutf8/channels/chan_features.c?view=diff&rev=89565&r1=89564&r2=89565
==============================================================================
--- team/oej/calleridutf8/channels/chan_features.c (original)
+++ team/oej/calleridutf8/channels/chan_features.c Sun Nov 25 14:57:12 2007
@@ -461,7 +461,7 @@
 		if (y >= 3)
 			break;
 	}
-	tmp = ast_channel_alloc(0, state, 0,0, "", "", "", 0, "Feature/%s", b2);
+	tmp = ast_channel_alloc(0, state, 0,0, "", "", "", "", "", 0, "Feature/%s", b2);
 	/* free up the name, it was copied into the channel name */
 	if (b2)
 		ast_free(b2);

Modified: team/oej/calleridutf8/channels/chan_gtalk.c
URL: http://svn.digium.com/view/asterisk/team/oej/calleridutf8/channels/chan_gtalk.c?view=diff&rev=89565&r1=89564&r2=89565
==============================================================================
--- team/oej/calleridutf8/channels/chan_gtalk.c (original)
+++ team/oej/calleridutf8/channels/chan_gtalk.c Sun Nov 25 14:57:12 2007
@@ -108,7 +108,9 @@
 	struct gtalk_candidate *theircandidates;
 	struct gtalk_candidate *ourcandidates;
 	char cid_num[80];                /*!< Caller ID num */
-	char cid_name[80];               /*!< Caller ID name */
+	char cid_name[80];               /*!< Caller ID name (ascii) */
+	char cid_utf8name[80];           /*!< Caller ID name (utf8) */
+	char cid_domain[80];             /*!< Caller ID domain */
 	char exten[80];                  /*!< Called extension */
 	struct ast_channel *owner;       /*!< Master Channel */
 	struct ast_rtp *rtp;             /*!< RTP audio session */
@@ -921,7 +923,7 @@
 		n2 = title;
 	else
 		n2 = i->us;
-	tmp = ast_channel_alloc(1, state, i->cid_num, i->cid_name, client->accountcode, i->exten, client->context, client->amaflags, "Gtalk/%s-%04lx", n2, ast_random() & 0xffff);
+	tmp = ast_channel_alloc(1, state, i->cid_num, i->cid_name, i->cid_utf8name, i->cid_domain, client->accountcode, i->exten, client->context, client->amaflags, "Gtalk/%s-%04lx", n2, ast_random() & 0xffff);
 	if (!tmp) {
 		ast_log(LOG_WARNING, "Unable to allocate Gtalk channel structure!\n");
 		return NULL;

Modified: team/oej/calleridutf8/channels/chan_h323.c
URL: http://svn.digium.com/view/asterisk/team/oej/calleridutf8/channels/chan_h323.c?view=diff&rev=89565&r1=89564&r2=89565
==============================================================================
--- team/oej/calleridutf8/channels/chan_h323.c (original)
+++ team/oej/calleridutf8/channels/chan_h323.c Sun Nov 25 14:57:12 2007
@@ -1015,7 +1015,7 @@
 	
 	/* Don't hold a oh323_pvt lock while we allocate a chanel */
 	ast_mutex_unlock(&pvt->lock);
-	ch = ast_channel_alloc(1, state, cid_num, cid_name, pvt->accountcode, pvt->exten, pvt->context, pvt->amaflags, "H323/%s", host);
+	ch = ast_channel_alloc(1, state, cid_num, cid_name, NULL, NULL, pvt->accountcode, pvt->exten, pvt->context, pvt->amaflags, "H323/%s", host);
 	/* Update usage counter */
 	ast_module_ref(ast_module_info->self);
 	ast_mutex_lock(&pvt->lock);

Modified: team/oej/calleridutf8/channels/chan_iax2.c
URL: http://svn.digium.com/view/asterisk/team/oej/calleridutf8/channels/chan_iax2.c?view=diff&rev=89565&r1=89564&r2=89565
==============================================================================
--- team/oej/calleridutf8/channels/chan_iax2.c (original)
+++ team/oej/calleridutf8/channels/chan_iax2.c Sun Nov 25 14:57:12 2007
@@ -298,6 +298,7 @@
 		AST_STRING_FIELD(language);
 		AST_STRING_FIELD(cid_num);
 		AST_STRING_FIELD(cid_name);
+		AST_STRING_FIELD(cid_utf8name);
 	);
 	
 	int authmethods;
@@ -332,6 +333,7 @@
 		/* Suggested caller id if registering */
 		AST_STRING_FIELD(cid_num);		/*!< Default context (for transfer really) */
 		AST_STRING_FIELD(cid_name);		/*!< Default context (for transfer really) */
+		AST_STRING_FIELD(cid_utf8name);		/*!< Default context (for transfer really) */
 		AST_STRING_FIELD(zonetag);		/*!< Time Zone */
 	);
 	struct ast_codec_pref prefs;
@@ -549,6 +551,7 @@
 		/*! Caller ID if available */
 		AST_STRING_FIELD(cid_num);
 		AST_STRING_FIELD(cid_name);
+		AST_STRING_FIELD(cid_utf8name);
 		/*! Hidden Caller ID (i.e. ANI) if appropriate */
 		AST_STRING_FIELD(ani);
 		/*! DNID */
@@ -3821,7 +3824,7 @@
 
 	/* Don't hold call lock */
 	ast_mutex_unlock(&iaxsl[callno]);
-	tmp = ast_channel_alloc(1, state, i->cid_num, i->cid_name, i->accountcode, i->exten, i->context, i->amaflags, "IAX2/%s-%d", i->host, i->callno);
+	tmp = ast_channel_alloc(1, state, i->cid_num, i->cid_name, i->cid_utf8name, NULL, i->accountcode, i->exten, i->context, i->amaflags, "IAX2/%s-%d", i->host, i->callno);
 	ast_mutex_lock(&iaxsl[callno]);
 	iax2_ami_channelupdate(i);
 	if (!tmp)
@@ -7033,8 +7036,8 @@
 	struct iax_dual *d;
 	struct ast_channel *chan1m, *chan2m;
 	pthread_t th;
-	chan1m = ast_channel_alloc(0, AST_STATE_DOWN, 0, 0, chan2->accountcode, chan1->exten, chan1->context, chan1->amaflags, "Parking/%s", chan1->name);
-	chan2m = ast_channel_alloc(0, AST_STATE_DOWN, 0, 0, chan2->accountcode, chan2->exten, chan2->context, chan2->amaflags, "IAXPeer/%s",chan2->name);
+	chan1m = ast_channel_alloc(0, AST_STATE_DOWN, 0, 0, NULL, NULL, chan2->accountcode, chan1->exten, chan1->context, chan1->amaflags, "Parking/%s", chan1->name);
+	chan2m = ast_channel_alloc(0, AST_STATE_DOWN, 0, 0, NULL, NULL, chan2->accountcode, chan2->exten, chan2->context, chan2->amaflags, "IAXPeer/%s",chan2->name);
 	if (chan2m && chan1m) {
 		/* Make formats okay */
 		chan1m->readformat = chan1->readformat;

Modified: team/oej/calleridutf8/channels/chan_jingle.c
URL: http://svn.digium.com/view/asterisk/team/oej/calleridutf8/channels/chan_jingle.c?view=diff&rev=89565&r1=89564&r2=89565
==============================================================================
--- team/oej/calleridutf8/channels/chan_jingle.c (original)
+++ team/oej/calleridutf8/channels/chan_jingle.c Sun Nov 25 14:57:12 2007
@@ -109,6 +109,8 @@
 	struct jingle_candidate *ourcandidates;
 	char cid_num[80];                /*!< Caller ID num */
 	char cid_name[80];               /*!< Caller ID name */
+	char cid_utf8name[80];           /*!< Caller ID name (utf8) */
+	char cid_domain[80];             /*!< Caller ID domain */
 	char exten[80];                  /*!< Called extension */
 	struct ast_channel *owner;       /*!< Master Channel */
 	struct ast_rtp *rtp;             /*!< RTP audio session */
@@ -810,7 +812,7 @@
 		str = title;
 	else
 		str = i->them;
-	tmp = ast_channel_alloc(1, state, i->cid_num, i->cid_name, "", "", "", 0, "Jingle/%s-%04lx", str, ast_random() & 0xffff);
+	tmp = ast_channel_alloc(1, state, i->cid_num, i->cid_name, i->cid_utf8name, i->cid_domain, "", "", "", 0, "Jingle/%s-%04lx", str, ast_random() & 0xffff);
 	if (!tmp) {
 		ast_log(LOG_WARNING, "Unable to allocate Jingle channel structure!\n");
 		return NULL;

Modified: team/oej/calleridutf8/channels/chan_local.c
URL: http://svn.digium.com/view/asterisk/team/oej/calleridutf8/channels/chan_local.c?view=diff&rev=89565&r1=89564&r2=89565
==============================================================================
--- team/oej/calleridutf8/channels/chan_local.c (original)
+++ team/oej/calleridutf8/channels/chan_local.c Sun Nov 25 14:57:12 2007
@@ -455,6 +455,8 @@
 	 */
 	p->chan->cid.cid_num = ast_strdup(p->owner->cid.cid_num);
 	p->chan->cid.cid_name = ast_strdup(p->owner->cid.cid_name);
+	p->chan->cid.cid_utf8name = ast_strdup(p->owner->cid.cid_utf8name);
+	p->chan->cid.cid_domain = ast_strdup(p->owner->cid.cid_domain);
 	p->chan->cid.cid_rdnis = ast_strdup(p->owner->cid.cid_rdnis);
 	p->chan->cid.cid_ani = ast_strdup(p->owner->cid.cid_ani);
 	p->chan->cid.cid_pres = p->owner->cid.cid_pres;
@@ -618,8 +620,8 @@
 		ama = p->owner->amaflags;
 	else
 		ama = 0;
-	if (!(tmp = ast_channel_alloc(1, state, 0, 0, t, p->exten, p->context, ama, "Local/%s@%s-%04x;1", p->exten, p->context, randnum)) 
-			|| !(tmp2 = ast_channel_alloc(1, AST_STATE_RING, 0, 0, t, p->exten, p->context, ama, "Local/%s@%s-%04x;2", p->exten, p->context, randnum))) {
+	if (!(tmp = ast_channel_alloc(1, state, 0, 0, t, p->exten, p->context, NULL, NULL, ama, "Local/%s@%s-%04x;1", p->exten, p->context, randnum)) 
+			|| !(tmp2 = ast_channel_alloc(1, AST_STATE_RING, 0, 0, t, p->exten, p->context, NULL, NULL, ama, "Local/%s@%s-%04x;2", p->exten, p->context, randnum))) {
 		if (tmp)
 			ast_channel_free(tmp);
 		if (tmp2)

Modified: team/oej/calleridutf8/channels/chan_mgcp.c
URL: http://svn.digium.com/view/asterisk/team/oej/calleridutf8/channels/chan_mgcp.c?view=diff&rev=89565&r1=89564&r2=89565
==============================================================================
--- team/oej/calleridutf8/channels/chan_mgcp.c (original)
+++ team/oej/calleridutf8/channels/chan_mgcp.c Sun Nov 25 14:57:12 2007
@@ -1451,7 +1451,7 @@
 	struct mgcp_endpoint *i = sub->parent;
 	int fmt;
 
-	tmp = ast_channel_alloc(1, state, i->cid_num, i->cid_name, i->accountcode, i->exten, i->context, i->amaflags, "MGCP/%s@%s-%d", i->name, i->parent->name, sub->id);
+	tmp = ast_channel_alloc(1, state, i->cid_num, i->cid_name, NULL, NULL, i->accountcode, i->exten, i->context, i->amaflags, "MGCP/%s@%s-%d", i->name, i->parent->name, sub->id);
 	if (tmp) {
 		tmp->tech = &mgcp_tech;
 		tmp->nativeformats = i->capability;
@@ -2669,6 +2669,7 @@
 					ast_set_callerid(chan,
 						p->hidecallerid ? "" : p->cid_num,
 						p->hidecallerid ? "" : p->cid_name,
+						NULL, NULL,
 						chan->cid.cid_ani ? NULL : p->cid_num);
 					ast_setstate(chan, AST_STATE_RING);
 					/*zt_enable_ec(p);*/
@@ -2723,7 +2724,7 @@
 			ast_verb(3, "Disabling Caller*ID on %s\n", chan->name);
 			/* Disable Caller*ID if enabled */
 			p->hidecallerid = 1;
-			ast_set_callerid(chan, "", "", NULL);
+			ast_set_callerid(chan, "", "", NULL, NULL, NULL);
 			/*res = tone_zone_play_tone(p->subs[index].zfd, ZT_TONE_DIALRECALL);*/
 			transmit_notify_request(sub, "L/sl");
 			len = 0;
@@ -2790,7 +2791,7 @@
 			ast_verb(3, "Enabling Caller*ID on %s\n", chan->name);
 			/* Enable Caller*ID if enabled */
 			p->hidecallerid = 0;
-			ast_set_callerid(chan, p->cid_num, p->cid_name, NULL);
+			ast_set_callerid(chan, p->cid_num, p->cid_name, NULL, NULL, NULL);
 			/*res = tone_zone_play_tone(p->subs[index].zfd, ZT_TONE_DIALRECALL);*/
 			transmit_notify_request(sub, "L/sl");
 			len = 0;

Modified: team/oej/calleridutf8/channels/chan_misdn.c
URL: http://svn.digium.com/view/asterisk/team/oej/calleridutf8/channels/chan_misdn.c?view=diff&rev=89565&r1=89564&r2=89565
==============================================================================
--- team/oej/calleridutf8/channels/chan_misdn.c (original)
+++ team/oej/calleridutf8/channels/chan_misdn.c Sun Nov 25 14:57:12 2007
@@ -2139,7 +2139,7 @@
 			ast_copy_string(ast->exten, bc->dad, sizeof(ast->exten));
 		}
 
-		ast_set_callerid(ast, bc->oad, NULL, bc->oad);
+		ast_set_callerid(ast, bc->oad, NULL, NULL, NULL, bc->oad);
 
 		if ( !ast_strlen_zero(bc->rad) ) {
 			if (ast->cid.cid_rdnis)

Modified: team/oej/calleridutf8/channels/chan_nbs.c
URL: http://svn.digium.com/view/asterisk/team/oej/calleridutf8/channels/chan_nbs.c?view=diff&rev=89565&r1=89564&r2=89565
==============================================================================
--- team/oej/calleridutf8/channels/chan_nbs.c (original)
+++ team/oej/calleridutf8/channels/chan_nbs.c Sun Nov 25 14:57:12 2007
@@ -222,7 +222,7 @@
 static struct ast_channel *nbs_new(struct nbs_pvt *i, int state)
 {
 	struct ast_channel *tmp;
-	tmp = ast_channel_alloc(1, state, 0, 0, "", "s", context, 0, "NBS/%s", i->stream);
+	tmp = ast_channel_alloc(1, state, 0, 0, NULL, NULL, "", "s", context, 0, "NBS/%s", i->stream);
 	if (tmp) {
 		tmp->tech = &nbs_tech;
 		ast_channel_set_fd(tmp, 0, nbs_fd(i->nbs));

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=89565&r1=89564&r2=89565
==============================================================================
--- team/oej/calleridutf8/channels/chan_oss.c (original)
+++ team/oej/calleridutf8/channels/chan_oss.c Sun Nov 25 14:57:12 2007
@@ -1043,7 +1043,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, "OSS/%s", o->device + 5);
 	if (c == NULL)
 		return NULL;
 	c->tech = &oss_tech;

Modified: team/oej/calleridutf8/channels/chan_phone.c
URL: http://svn.digium.com/view/asterisk/team/oej/calleridutf8/channels/chan_phone.c?view=diff&rev=89565&r1=89564&r2=89565
==============================================================================
--- team/oej/calleridutf8/channels/chan_phone.c (original)
+++ team/oej/calleridutf8/channels/chan_phone.c Sun Nov 25 14:57:12 2007
@@ -845,7 +845,7 @@
 {
 	struct ast_channel *tmp;
 	struct phone_codec_data codec;
-	tmp = ast_channel_alloc(1, state, i->cid_num, i->cid_name, "", i->ext, i->context, 0, "Phone/%s", i->dev + 5);
+	tmp = ast_channel_alloc(1, state, i->cid_num, i->cid_name, "", "", "", i->ext, i->context, 0, "Phone/%s", i->dev + 5);
 	if (tmp) {
 		tmp->tech = cur_tech;
 		ast_channel_set_fd(tmp, 0, i->fd);

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=89565&r1=89564&r2=89565
==============================================================================
--- team/oej/calleridutf8/channels/chan_sip.c (original)
+++ team/oej/calleridutf8/channels/chan_sip.c Sun Nov 25 14:57:12 2007
@@ -999,7 +999,7 @@
 		AST_STRING_FIELD(context);	/*!< Context for this call */
 		AST_STRING_FIELD(subscribecontext); /*!< Subscribecontext */
 		AST_STRING_FIELD(subscribeuri); /*!< Subscribecontext */
-		AST_STRING_FIELD(fromdomain);	/*!< Domain to show in the from field */
+		AST_STRING_FIELD(fromdomain);	/*!< Domain to show in the from field. Overrides cid_domain */
 		AST_STRING_FIELD(fromuser);	/*!< User to show in the user field */
 		AST_STRING_FIELD(fromname);	/*!< Name to show in the user field */
 		AST_STRING_FIELD(tohost);	/*!< Host we should put in the "to" field */
@@ -1017,7 +1017,9 @@
 		AST_STRING_FIELD(peersecret);	/*!< Password */
 		AST_STRING_FIELD(peermd5secret);
 		AST_STRING_FIELD(cid_num);	/*!< Caller*ID number */
-		AST_STRING_FIELD(cid_name);	/*!< Caller*ID name (utf8) */
+		AST_STRING_FIELD(cid_name);	/*!< Caller*ID name (ascii) */
+		AST_STRING_FIELD(cid_utf8name);	/*!< Caller*ID name (utf8) */
+		AST_STRING_FIELD(cid_domain);	/*!< Caller*ID domain (ascii) */
 		AST_STRING_FIELD(via);		/*!< Via: header */
 		AST_STRING_FIELD(fullcontact);	/*!< The Contact: that the UA registers with us */
 			/* we only store the part in <brackets> in this field. */
@@ -1194,7 +1196,8 @@
 	char context[AST_MAX_CONTEXT];	/*!< Default context for incoming calls */
 	char subscribecontext[AST_MAX_CONTEXT];	/* Default context for subscriptions */
 	char cid_num[80];		/*!< Caller ID num */
-	char cid_name[80];		/*!< Caller ID name */
+	char cid_name[80];		/*!< Caller ID name, ascii */
+	char cid_utf8name[80];		/*!< Caller ID name, utf8 */
 	char accountcode[AST_MAX_ACCOUNT_CODE];	/* Account code */
 	char language[MAX_LANGUAGE];	/*!< Default language for this user */
 	char mohinterpret[MAX_MUSICCLASS];/*!< Music on Hold class */
@@ -1254,7 +1257,8 @@
 	char fromdomain[MAXHOSTNAMELEN];	/*!< From: domain when calling this peer */
 	char fullcontact[256];		/*!< Contact registered with us (not in sip.conf) */
 	char cid_num[80];		/*!< Caller ID num */
-	char cid_name[80];		/*!< Caller ID name */
+	char cid_name[80];		/*!< Caller ID name, ascii */
+	char cid_utf8name[80];		/*!< Caller ID name, utf8 */
 	int callingpres;		/*!< Calling id presentation */
 	int inUse;			/*!< Number of calls in use */
 	int inRinging;			/*!< Number of calls ringing */
@@ -4532,7 +4536,7 @@
 
 		sip_pvt_unlock(i);
 		/* Don't hold a sip pvt lock while we allocate a channel */
-		tmp = ast_channel_alloc(1, state, i->cid_num, i->cid_name, i->accountcode, i->exten, i->context, i->amaflags, "SIP/%s-%08x", my_name, (int)(long) i);
+		tmp = ast_channel_alloc(1, state, i->cid_num, i->cid_name, i->cid_utf8name, i->accountcode, i->exten, i->context, i->amaflags, "SIP/%s-%08x", my_name, (int)(long) i);
 
 	}
 	if (!tmp) {
@@ -10391,8 +10395,11 @@
 	/* XXX here tries to map the username for invite things */
 	memset(calleridname, 0, sizeof(calleridname));
 	get_calleridname(from, calleridname, sizeof(calleridname));
-	if (calleridname[0])
+	if (calleridname[0]) {
+		/* The first one should be converted from calleridname */
 		ast_string_field_set(p, cid_name, calleridname);
+		ast_string_field_set(p, cid_utf8name, calleridname);
+	}
 
 	rpid = get_header(req, "Remote-Party-ID");
 	memset(rpid_num, 0, sizeof(rpid_num));
@@ -10401,15 +10408,20 @@
 
 	of = get_in_brackets(from);
 	if (ast_strlen_zero(p->exten)) {
-		char *t = uri2;
+		char *semi, *t = uri2;
 		if (!strncasecmp(t, "sip:", 4))
 			t+= 4;
 		ast_string_field_set(p, exten, t);
 		t = strchr(p->exten, '@');	/* Strip domain */
-		if (t)
+		if (t) {
 			*t = '\0';
-		t++;
-		/* SKREP: Set caller's domain here to cid_domain */ 
+			t++;
+			semi = strchr(t, ';');	/* Strip parameters */
+			if (semi)
+				*semi = '\0';
+			/* Set caller's domain here to cid_domain */ 
+			ast_string_field_set(p, cid_domain, t);
+		}
 		if (ast_strlen_zero(p->our_contact))
 			build_contact(p);
 	}
@@ -14245,8 +14257,8 @@
 		/* Chan2m: The transferer, chan1m: The transferee */
 	pthread_t th;
 
-	transferee = ast_channel_alloc(0, AST_STATE_DOWN, 0, 0, chan1->accountcode, chan1->exten, chan1->context, chan1->amaflags, "Parking/%s", chan1->name);
-	transferer = ast_channel_alloc(0, AST_STATE_DOWN, 0, 0, chan2->accountcode, chan2->exten, chan2->context, chan2->amaflags, "SIPPeer/%s", chan2->name);
+	transferee = ast_channel_alloc(0, AST_STATE_DOWN, 0, 0, NULL, NULL, chan1->accountcode, chan1->exten, chan1->context, chan1->amaflags, "Parking/%s", chan1->name);
+	transferer = ast_channel_alloc(0, AST_STATE_DOWN, 0, 0, NULL, NULL, chan2->accountcode, chan2->exten, chan2->context, chan2->amaflags, "SIPPeer/%s", chan2->name);
 	if ((!transferer) || (!transferee)) {
 		if (transferee) {
 			transferee->hangupcause = AST_CAUSE_SWITCH_CONGESTION;

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=89565&r1=89564&r2=89565
==============================================================================
--- team/oej/calleridutf8/channels/chan_skinny.c (original)
+++ team/oej/calleridutf8/channels/chan_skinny.c Sun Nov 25 14:57:12 2007
@@ -3003,6 +3003,7 @@
 	ast_set_callerid(c,
 		l->hidecallerid ? "" : l->cid_num,
 		l->hidecallerid ? "" : l->cid_name,
+		NULL, NULL,
 		c->cid.cid_ani ? NULL : l->cid_num);
 	ast_setstate(c, AST_STATE_RING);
 	res = ast_pbx_run(c);
@@ -3490,7 +3491,7 @@
 	struct ast_variable *v = NULL;
 	int fmt;
 
-	tmp = ast_channel_alloc(1, state, l->cid_num, l->cid_name, l->accountcode, l->exten, l->context, l->amaflags, "Skinny/%s@%s-%d", l->name, d->name, callnums);
+	tmp = ast_channel_alloc(1, state, l->cid_num, l->cid_name, NULL, NULL, l->accountcode, l->exten, l->context, l->amaflags, "Skinny/%s@%s-%d", l->name, d->name, callnums);
 	if (!tmp) {
 		ast_log(LOG_WARNING, "Unable to allocate channel structure\n");
 		return NULL;

Modified: team/oej/calleridutf8/channels/chan_unistim.c
URL: http://svn.digium.com/view/asterisk/team/oej/calleridutf8/channels/chan_unistim.c?view=diff&rev=89565&r1=89564&r2=89565
==============================================================================
--- team/oej/calleridutf8/channels/chan_unistim.c (original)
+++ team/oej/calleridutf8/channels/chan_unistim.c Sun Nov 25 14:57:12 2007
@@ -4462,7 +4462,7 @@
 		return NULL;
 	}
 	l = sub->parent;
-	tmp = ast_channel_alloc(1, state, l->cid_num, NULL, l->accountcode, l->exten, 
+	tmp = ast_channel_alloc(1, state, l->cid_num, NULL, NULL, NULL, l->accountcode, l->exten, 
 		l->context, l->amaflags, "%s-%08x", l->fullname, (int) (long) sub);
 	if (unistimdebug)
 		ast_verbose("unistim_new sub=%d (%p) chan=%p\n", sub->subtype, sub, tmp);

Modified: team/oej/calleridutf8/channels/chan_usbradio.c
URL: http://svn.digium.com/view/asterisk/team/oej/calleridutf8/channels/chan_usbradio.c?view=diff&rev=89565&r1=89564&r2=89565
==============================================================================
--- team/oej/calleridutf8/channels/chan_usbradio.c (original)
+++ team/oej/calleridutf8/channels/chan_usbradio.c Sun Nov 25 14:57:12 2007
@@ -1535,7 +1535,7 @@
 
 	strcpy(device,"dsp");
 	if (o->devicenum) sprintf(device,"dsp%d",o->devicenum);
-	c = ast_channel_alloc(1, state, o->cid_num, o->cid_name, "", ext, ctx, 0, "usbRadio/%s", device);
+	c = ast_channel_alloc(1, state, o->cid_num, o->cid_name, NULL, NULL, "", ext, ctx, 0, "usbRadio/%s", device);
 	if (c == NULL)
 		return NULL;
 	c->tech = &usbradio_tech;

Modified: team/oej/calleridutf8/channels/chan_zap.c
URL: http://svn.digium.com/view/asterisk/team/oej/calleridutf8/channels/chan_zap.c?view=diff&rev=89565&r1=89564&r2=89565
==============================================================================
--- team/oej/calleridutf8/channels/chan_zap.c (original)
+++ team/oej/calleridutf8/channels/chan_zap.c Sun Nov 25 14:57:12 2007
@@ -5137,6 +5137,7 @@
 	if (p->subs[index].needcallerid) {
 		ast_set_callerid(ast, S_OR(p->lastcid_num, NULL),
 							S_OR(p->lastcid_name, NULL),
+							NULL, NULL,
 							S_OR(p->lastcid_num, NULL)
 							);
 		p->subs[index].needcallerid = 0;
@@ -5676,7 +5677,7 @@
 		}
 		y++;
 	} while (x < 3);
-	tmp = ast_channel_alloc(0, state, i->cid_num, i->cid_name, i->accountcode, i->exten, i->context, i->amaflags, "Zap/%s", chan_name->str);
+	tmp = ast_channel_alloc(0, state, i->cid_num, i->cid_name, NULL, NULL, i->accountcode, i->exten, i->context, i->amaflags, "Zap/%s", chan_name->str);
 	if (!tmp)
 		return NULL;
 	tmp->tech = &zap_tech;

Modified: team/oej/calleridutf8/funcs/func_callerid.c
URL: http://svn.digium.com/view/asterisk/team/oej/calleridutf8/funcs/func_callerid.c?view=diff&rev=89565&r1=89564&r2=89565
==============================================================================
--- team/oej/calleridutf8/funcs/func_callerid.c (original)
+++ team/oej/calleridutf8/funcs/func_callerid.c Sun Nov 25 14:57:12 2007
@@ -125,17 +125,22 @@
 		char num[256];
 
 		if (!ast_callerid_split(value, name, sizeof(name), num, sizeof(num)))
-			ast_set_callerid(chan, num, name, num);
+			ast_set_callerid(chan, num, name, NULL, NULL, num);
 	} else if (!strncasecmp("name", data, 4)) {
-		ast_set_callerid(chan, NULL, value, NULL);
+		ast_set_callerid(chan, NULL, value, NULL, NULL, NULL);
 	} else if (!strncasecmp("num", data, 3)) { 
-		ast_set_callerid(chan, value, NULL, NULL);
+		ast_set_callerid(chan, value, NULL, NULL, NULL, NULL);
 	} else if (!strncasecmp("ani", data, 3)) {
 		if (!strncasecmp(data + 3, "2", 1)) {
 			int i = atoi(value);
 			chan->cid.cid_ani2 = i;
 		} else
-			ast_set_callerid(chan, NULL, NULL, value);
+			ast_set_callerid(chan, NULL, NULL, NULL, NULL, value);
+	} else if (!strncasecmp("domain", data, 6)) {
+		/* do we need to lock chan here? */
+		if (chan->cid.cid_domain)
+			ast_free(chan->cid.cid_domain);
+		chan->cid.cid_domain = ast_strdup(value);
 	} else if (!strncasecmp("dnid", data, 4)) {
 		/* do we need to lock chan here? */
 		if (chan->cid.cid_dnid)

Modified: team/oej/calleridutf8/include/asterisk/channel.h
URL: http://svn.digium.com/view/asterisk/team/oej/calleridutf8/include/asterisk/channel.h?view=diff&rev=89565&r1=89564&r2=89565
==============================================================================
--- team/oej/calleridutf8/include/asterisk/channel.h (original)
+++ team/oej/calleridutf8/include/asterisk/channel.h Sun Nov 25 14:57:12 2007
@@ -223,7 +223,7 @@
 	char *cid_name;		/*!< Malloc'd Caller Name (ASCII) */
 	char *cid_ani;		/*!< Malloc'd ANI */
 	char *cid_rdnis;	/*!< Malloc'd RDNIS */
-	char *cid_utf8;		/*!< Malloc'd Caller ID name in utf8 */
+	char *cid_utf8name;	/*!< Malloc'd Caller ID name in utf8 */
 	char *cid_domain;	/*!< Malloc'd Caller ID domain (ascii. IDN supported) */
 	char *cid_e164;		/*!< Malloc'd Alternative Caller ID E.164 (alternative to SIP/IAX2 utf8 uri, RPID) */
 	int cid_pres;		/*!< Callerid presentation/screening */
@@ -589,6 +589,8 @@
 	int priority;
 	const char *cid_num;
 	const char *cid_name;
+	const char *cid_utf8name;
+	const char *cid_domain;
 	const char *account;
 	struct ast_variable *vars;
 	struct ast_channel *parent_channel;
@@ -655,7 +657,7 @@
 	by default set to the "default" context and
 	extension "s"
  */
-struct ast_channel *ast_channel_alloc(int needqueue, int state, const char *cid_num, const char *cid_name, const char *acctcode, const char *exten, const char *context, const int amaflag, const char *name_fmt, ...);
+struct ast_channel *ast_channel_alloc(int needqueue, int state, const char *cid_num, const char *cid_name, const char *cid_utf8name, const char *cid_domain, const char *acctcode, const char *exten, const char *context, const int amaflag, const char *name_fmt, ...);
 
 /*! \brief Queue an outgoing frame */
 int ast_queue_frame(struct ast_channel *chan, struct ast_frame *f);
@@ -719,15 +721,17 @@
  * \param timeout maximum amount of time to wait for an answer
  * \param reason why unsuccessful (if unsuccessful)
  * \param cidnum Caller-ID Number
- * \param cidname Caller-ID Name
+ * \param cidname Caller-ID Name (ascii)
+ * \param cid_utf8name Caller-ID Name (utf8)
+ * \param cid_domain Caller-ID domain
  * \return Returns an ast_channel on success or no answer, NULL on failure.  Check the value of chan->_state
  * to know if the call was answered or not.
  */
 struct ast_channel *ast_request_and_dial(const char *type, int format, void *data,
-	int timeout, int *reason, const char *cidnum, const char *cidname);
+	int timeout, int *reason, const char *cid_num, const char *cid_name, const char *cid_utf8name, const char *cid_domain);
 
 struct ast_channel *__ast_request_and_dial(const char *type, int format, void *data,
-	int timeout, int *reason, const char *cidnum, const char *cidname, struct outgoing_helper *oh);
+	int timeout, int *reason, const char *cidnum, const char *cid_name, const char *cid_utf8name, const char *cid_domain, struct outgoing_helper *oh);
 
 /*!\brief Register a channel technology (a new channel driver)
  * Called by a channel module to register the kind of channels it supports.
@@ -1206,7 +1210,8 @@
 /*! Deactivate an active generator */
 void ast_deactivate_generator(struct ast_channel *chan);
 
-void ast_set_callerid(struct ast_channel *chan, const char *cidnum, const char *cidname, const char *ani);
+/*! Set caller ID data */

[... 379 lines stripped ...]



More information about the asterisk-commits mailing list