[asterisk-commits] branch oej/iptos r9084 - in /team/oej/iptos: ./ agi/ apps/ cdr/ channels/ cod...

asterisk-commits at lists.digium.com asterisk-commits at lists.digium.com
Thu Feb 2 10:35:16 MST 2006


Author: oej
Date: Thu Feb  2 11:33:57 2006
New Revision: 9084

URL: http://svn.digium.com/view/asterisk?rev=9084&view=rev
Log:
Merged revisions 8976,8991,9001,9004,9013,9034,9046-9047,9052,9057,9059-9060,9065,9071-9072 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/trunk

........
r8976 | oej | 2006-01-31 15:30:09 +0100 (Tue, 31 Jan 2006) | 3 lines

- Change "prefs" to "default_prefs" and move declaration to "default" group
- Add doxygen comments

........
r8991 | oej | 2006-01-31 17:02:35 +0100 (Tue, 31 Jan 2006) | 4 lines

- Moving two session (PVT) flags to peer PAGE2 (DYNAMIC and SELFDESTRUCT) to make room for more session-related flags
  This is needed for integrating patches in the bug tracker
- Adding doxygen comments

........
r9001 | russell | 2006-01-31 18:18:58 +0100 (Tue, 31 Jan 2006) | 3 lines

define a global null_frame object so when queueing a null frame, you don't
have to allocate one on the stack

........
r9004 | russell | 2006-01-31 18:57:12 +0100 (Tue, 31 Jan 2006) | 2 lines

remove some more local declarations of null frames

........
r9013 | oej | 2006-01-31 19:40:07 +0100 (Tue, 31 Jan 2006) | 3 lines

Optimize settings of defaults for a new peer object and make sure
we set the same defaults for autocreated peers and other peers.

........
r9034 | oej | 2006-02-01 14:23:59 +0100 (Wed, 01 Feb 2006) | 3 lines

- Clarify default setting of canreinvite (thanks royk)
- Add some extra headers and reference to other doc/ files for realtime

........
r9046 | oej | 2006-02-01 18:16:08 +0100 (Wed, 01 Feb 2006) | 6 lines

- Adding a doc/00README.1st with an INDEX over README files
- Moving files from / to /doc or /configs
- Renaming some documentation files

Thank you for the initiative, manxpower!

........
r9047 | oej | 2006-02-01 18:49:02 +0100 (Wed, 01 Feb 2006) | 3 lines

- Removing the "README." from the name of the README files.


........
r9052 | mogorman | 2006-02-01 19:39:41 +0100 (Wed, 01 Feb 2006) | 3 lines

Allows for user to uninstall asterisk binaries
bug 6177

........
r9057 | oej | 2006-02-01 20:16:09 +0100 (Wed, 01 Feb 2006) | 5 lines

- Update URL to digium store
- Remove X100p and S100u
- Add mISDN
- remove ISDN4Linux 

........
r9059 | mogorman | 2006-02-01 21:40:45 +0100 (Wed, 01 Feb 2006) | 3 lines

reports why an agi script errors out on opening
file

........
r9060 | kpfleming | 2006-02-02 00:05:28 +0100 (Thu, 02 Feb 2006) | 6 lines

use string fields for some stuff in ast_channel
const-ify some more APIs
remove 'type' field from ast_channel, in favor of the one in the channel's tech structure
allow string field module users to specify the 'chunk size' for pool allocations
update chan_alsa to be compatible with recent const-ification patches

........
r9065 | oej | 2006-02-02 15:04:29 +0100 (Thu, 02 Feb 2006) | 2 lines

Issue #6383 - Crash on CLI originate with missing channel argument

........
r9071 | mattf | 2006-02-02 17:09:01 +0100 (Thu, 02 Feb 2006) | 2 lines

Fix for very unlikely memory leak in res_odbc

........
r9072 | mattf | 2006-02-02 17:09:38 +0100 (Thu, 02 Feb 2006) | 2 lines

Fix so that hardhdlc works w/ chan_zap

........

Added:
    team/oej/iptos/configs/muted.conf.sample
      - copied unchanged from r9072, trunk/configs/muted.conf.sample
    team/oej/iptos/doc/00README.1st
      - copied unchanged from r9072, trunk/doc/00README.1st
    team/oej/iptos/doc/ael.txt
      - copied unchanged from r9072, trunk/doc/ael.txt
    team/oej/iptos/doc/app-sms.txt
      - copied unchanged from r9072, trunk/doc/app-sms.txt
    team/oej/iptos/doc/asterisk-conf.txt
      - copied unchanged from r9072, trunk/doc/asterisk-conf.txt
    team/oej/iptos/doc/backtrace.txt
      - copied unchanged from r9072, trunk/doc/backtrace.txt
    team/oej/iptos/doc/billing.txt
      - copied unchanged from r9072, trunk/doc/billing.txt
    team/oej/iptos/doc/callingpres.txt
      - copied unchanged from r9072, trunk/doc/callingpres.txt
    team/oej/iptos/doc/cdrdriver.txt
      - copied unchanged from r9072, trunk/doc/cdrdriver.txt
    team/oej/iptos/doc/chaniax.txt
      - copied unchanged from r9072, trunk/doc/chaniax.txt
    team/oej/iptos/doc/channels.txt
      - copied unchanged from r9072, trunk/doc/channels.txt
    team/oej/iptos/doc/channelvariables.txt
      - copied unchanged from r9072, trunk/doc/channelvariables.txt
    team/oej/iptos/doc/cliprompt.txt
      - copied unchanged from r9072, trunk/doc/cliprompt.txt
    team/oej/iptos/doc/configuration.txt
      - copied unchanged from r9072, trunk/doc/configuration.txt
    team/oej/iptos/doc/cygwin.txt
      - copied unchanged from r9072, trunk/doc/cygwin.txt
    team/oej/iptos/doc/dundi.txt
      - copied unchanged from r9072, trunk/doc/dundi.txt
    team/oej/iptos/doc/enum.txt
      - copied unchanged from r9072, trunk/doc/enum.txt
    team/oej/iptos/doc/extconfig.txt
      - copied unchanged from r9072, trunk/doc/extconfig.txt
    team/oej/iptos/doc/externalivr.txt
      - copied unchanged from r9072, trunk/doc/externalivr.txt
    team/oej/iptos/doc/freetds.txt
      - copied unchanged from r9072, trunk/doc/freetds.txt
    team/oej/iptos/doc/h323.txt
      - copied unchanged from r9072, trunk/doc/h323.txt
    team/oej/iptos/doc/hardware.txt
      - copied unchanged from r9072, trunk/doc/hardware.txt
    team/oej/iptos/doc/ices.txt
      - copied unchanged from r9072, trunk/doc/ices.txt
    team/oej/iptos/doc/jitterbuffer.txt
      - copied unchanged from r9072, trunk/doc/jitterbuffer.txt
    team/oej/iptos/doc/linkedlists.txt
      - copied unchanged from r9072, trunk/doc/linkedlists.txt
    team/oej/iptos/doc/math.txt
      - copied unchanged from r9072, trunk/doc/math.txt
    team/oej/iptos/doc/misdn.txt
      - copied unchanged from r9072, trunk/doc/misdn.txt
    team/oej/iptos/doc/mp3.txt
      - copied unchanged from r9072, trunk/doc/mp3.txt
    team/oej/iptos/doc/musiconhold-fpm.txt
      - copied unchanged from r9072, trunk/doc/musiconhold-fpm.txt
    team/oej/iptos/doc/mysql.txt
      - copied unchanged from r9072, trunk/doc/mysql.txt
    team/oej/iptos/doc/odbcstorage.txt
      - copied unchanged from r9072, trunk/doc/odbcstorage.txt
    team/oej/iptos/doc/privacy.txt
      - copied unchanged from r9072, trunk/doc/privacy.txt
    team/oej/iptos/doc/realtime.txt
      - copied unchanged from r9072, trunk/doc/realtime.txt
    team/oej/iptos/doc/security.txt
      - copied unchanged from r9072, trunk/doc/security.txt
    team/oej/iptos/doc/sms.txt
      - copied unchanged from r9072, trunk/doc/sms.txt
Removed:
    team/oej/iptos/HARDWARE
    team/oej/iptos/README.fpm
    team/oej/iptos/SECURITY
    team/oej/iptos/doc/README.ael
    team/oej/iptos/doc/README.app_sms
    team/oej/iptos/doc/README.asterisk.conf
    team/oej/iptos/doc/README.backtrace
    team/oej/iptos/doc/README.callingpres
    team/oej/iptos/doc/README.cdr
    team/oej/iptos/doc/README.channels
    team/oej/iptos/doc/README.cliprompt
    team/oej/iptos/doc/README.configuration
    team/oej/iptos/doc/README.cygwin
    team/oej/iptos/doc/README.dundi
    team/oej/iptos/doc/README.enum
    team/oej/iptos/doc/README.extconfig
    team/oej/iptos/doc/README.externalivr
    team/oej/iptos/doc/README.h323
    team/oej/iptos/doc/README.iax
    team/oej/iptos/doc/README.ices
    team/oej/iptos/doc/README.jitterbuffer
    team/oej/iptos/doc/README.linkedlists
    team/oej/iptos/doc/README.math
    team/oej/iptos/doc/README.misdn
    team/oej/iptos/doc/README.mp3
    team/oej/iptos/doc/README.mysql
    team/oej/iptos/doc/README.odbcstorage
    team/oej/iptos/doc/README.privacy
    team/oej/iptos/doc/README.realtime
    team/oej/iptos/doc/README.sms
    team/oej/iptos/doc/README.tds
    team/oej/iptos/doc/README.variables
    team/oej/iptos/doc/cdr.txt
    team/oej/iptos/muted.conf.sample
Modified:
    team/oej/iptos/   (props changed)
    team/oej/iptos/.cleancount
    team/oej/iptos/Makefile
    team/oej/iptos/agi/Makefile
    team/oej/iptos/apps/Makefile
    team/oej/iptos/apps/app_dial.c
    team/oej/iptos/apps/app_disa.c
    team/oej/iptos/apps/app_dumpchan.c
    team/oej/iptos/apps/app_flash.c
    team/oej/iptos/apps/app_meetme.c
    team/oej/iptos/apps/app_queue.c
    team/oej/iptos/apps/app_softhangup.c
    team/oej/iptos/apps/app_transfer.c
    team/oej/iptos/apps/app_voicemail.c
    team/oej/iptos/apps/app_zapbarge.c
    team/oej/iptos/apps/app_zapras.c
    team/oej/iptos/apps/app_zapscan.c
    team/oej/iptos/cdr.c
    team/oej/iptos/cdr/Makefile
    team/oej/iptos/channel.c
    team/oej/iptos/channels/Makefile
    team/oej/iptos/channels/chan_agent.c
    team/oej/iptos/channels/chan_alsa.c
    team/oej/iptos/channels/chan_features.c
    team/oej/iptos/channels/chan_h323.c
    team/oej/iptos/channels/chan_iax2.c
    team/oej/iptos/channels/chan_local.c
    team/oej/iptos/channels/chan_mgcp.c
    team/oej/iptos/channels/chan_oss.c
    team/oej/iptos/channels/chan_phone.c
    team/oej/iptos/channels/chan_sip.c
    team/oej/iptos/channels/chan_skinny.c
    team/oej/iptos/channels/chan_zap.c
    team/oej/iptos/channels/iax2-parser.c
    team/oej/iptos/channels/iax2-parser.h
    team/oej/iptos/cli.c
    team/oej/iptos/codecs/Makefile
    team/oej/iptos/configs/sip.conf.sample
    team/oej/iptos/formats/Makefile
    team/oej/iptos/frame.c
    team/oej/iptos/funcs/Makefile
    team/oej/iptos/funcs/func_language.c
    team/oej/iptos/funcs/func_moh.c
    team/oej/iptos/image.c
    team/oej/iptos/include/asterisk/cdr.h
    team/oej/iptos/include/asterisk/channel.h
    team/oej/iptos/include/asterisk/frame.h
    team/oej/iptos/include/asterisk/image.h
    team/oej/iptos/include/asterisk/musiconhold.h
    team/oej/iptos/include/asterisk/stringfields.h
    team/oej/iptos/pbx.c
    team/oej/iptos/pbx/Makefile
    team/oej/iptos/res/Makefile
    team/oej/iptos/res/res_agi.c
    team/oej/iptos/res/res_clioriginate.c
    team/oej/iptos/res/res_features.c
    team/oej/iptos/res/res_musiconhold.c
    team/oej/iptos/res/res_odbc.c
    team/oej/iptos/rtp.c
    team/oej/iptos/stdtime/Makefile
    team/oej/iptos/udptl.c
    team/oej/iptos/utils/Makefile

Propchange: team/oej/iptos/
------------------------------------------------------------------------------
--- svnmerge-integrated (original)
+++ svnmerge-integrated Thu Feb  2 11:33:57 2006
@@ -1,1 +1,1 @@
-/trunk:1-8972
+/trunk:1-9074

Modified: team/oej/iptos/.cleancount
URL: http://svn.digium.com/view/asterisk/team/oej/iptos/.cleancount?rev=9084&r1=9083&r2=9084&view=diff
==============================================================================
--- team/oej/iptos/.cleancount (original)
+++ team/oej/iptos/.cleancount Thu Feb  2 11:33:57 2006
@@ -1,1 +1,1 @@
-9
+10

Modified: team/oej/iptos/Makefile
URL: http://svn.digium.com/view/asterisk/team/oej/iptos/Makefile?rev=9084&r1=9083&r2=9084&view=diff
==============================================================================
--- team/oej/iptos/Makefile (original)
+++ team/oej/iptos/Makefile Thu Feb  2 11:33:57 2006
@@ -912,3 +912,37 @@
 	if cmp -s .cleancount .lastclean ; then echo ; else \
 		$(MAKE) clean; cp -f .cleancount .lastclean;\
 	fi
+
+_uninstall:
+	rm -f $(DESTDIR)$(MODULES_DIR)/*
+	rm -f $(DESTDIR)$(ASTSBINDIR)/*asterisk*
+	rm -f $(DESTDIR)$(ASTSBINDIR)/astgenkey
+	rm -f $(DESTDIR)$(ASTSBINDIR)/autosupport
+	rm -rf $(DESTDIR)$(ASTHEADERDIR)
+	rm -rf $(DESTDIR)$(ASTVARLIBDIR)/sounds
+	rm -rf $(DESTDIR)$(ASTVARLIBDIR)/firmware
+	rm -rf $(DESTDIR)$(ASTMANDIR)/man8
+	for x in $(SUBDIRS); do $(MAKE) -C $$x uninstall || exit 1 ; done
+
+uninstall: _uninstall
+	@echo " +--------- Asterisk Uninstall Complete -----+"  
+	@echo " + Asterisk binaries, sounds, man pages,     +"  
+	@echo " + headers, modules, and firmware builds,    +"  
+	@echo " + have all been uninstalled.                +"  
+	@echo " +                                           +"
+	@echo " + To remove ALL traces of Asterisk,         +"
+	@echo " + including configuration, spool            +"
+	@echo " + directories, and logs, run the following  +"
+	@echo " + command:                                  +"
+	@echo " +                                           +"
+	@echo " +            $(MAKE) uninstall-all             +"  
+	@echo " +-------------------------------------------+"  
+
+
+uninstall-all: _uninstall
+	rm -rf $(DESTDIR)$(ASTLIBDIR)
+	rm -rf $(DESTDIR)$(ASTVARLIBDIR)
+	rm -rf $(DESTDIR)$(ASTSPOOLDIR)
+	rm -rf $(DESTDIR)$(ASTETCDIR)
+	rm -rf $(DESTDIR)$(ASTLOGDIR)
+	

Modified: team/oej/iptos/agi/Makefile
URL: http://svn.digium.com/view/asterisk/team/oej/iptos/agi/Makefile?rev=9084&r1=9083&r2=9084&view=diff
==============================================================================
--- team/oej/iptos/agi/Makefile (original)
+++ team/oej/iptos/agi/Makefile Thu Feb  2 11:33:57 2006
@@ -30,6 +30,9 @@
 	mkdir -p $(DESTDIR)$(AGI_DIR)
 	for x in $(AGIS); do $(INSTALL) -m 755 $$x $(DESTDIR)$(AGI_DIR) ; done
 
+uninstall:
+	for x in $(AGIS); do rm -f $(DESTDIR)$(AGI_DIR)/$$x ; done
+
 eagi-test: eagi-test.o
 	$(CC) $(CFLAGS) -o eagi-test eagi-test.o $(LIBS)
 

Modified: team/oej/iptos/apps/Makefile
URL: http://svn.digium.com/view/asterisk/team/oej/iptos/apps/Makefile?rev=9084&r1=9083&r2=9084&view=diff
==============================================================================
--- team/oej/iptos/apps/Makefile (original)
+++ team/oej/iptos/apps/Makefile Thu Feb  2 11:33:57 2006
@@ -92,6 +92,8 @@
 	rm -f $(DESTDIR)$(MODULES_DIR)/app_datetime.so
 	rm -f $(DESTDIR)$(MODULES_DIR)/app_qcall.so
 
+uninstall:
+
 app_curl.so: app_curl.o
 	$(CC) $(SOLINK) -o $@ ${CYGSOLINK} $< ${CYGSOLIB} $(CURLLIBS)
 

Modified: team/oej/iptos/apps/app_dial.c
URL: http://svn.digium.com/view/asterisk/team/oej/iptos/apps/app_dial.c?rev=9084&r1=9083&r2=9084&view=diff
==============================================================================
--- team/oej/iptos/apps/app_dial.c (original)
+++ team/oej/iptos/apps/app_dial.c Thu Feb  2 11:33:57 2006
@@ -58,6 +58,7 @@
 #include "asterisk/rtp.h"
 #include "asterisk/manager.h"
 #include "asterisk/privacy.h"
+#include "asterisk/stringfields.h"
 
 static char *tdesc = "Dialing Application";
 
@@ -498,7 +499,7 @@
 							else
 								newcid = in->exten;
 							o->chan->cid.cid_num = strdup(newcid);
-							ast_copy_string(o->chan->accountcode, winner->accountcode, sizeof(o->chan->accountcode));
+							ast_string_field_set(o->chan, accountcode, winner->accountcode);
 							o->chan->cdrflags = winner->cdrflags;
 							if (!o->chan->cid.cid_num)
 								ast_log(LOG_WARNING, "Out of memory\n");
@@ -513,7 +514,7 @@
 								if (!o->chan->cid.cid_name)
 									ast_log(LOG_WARNING, "Out of memory\n");	
 							}
-							ast_copy_string(o->chan->accountcode, in->accountcode, sizeof(o->chan->accountcode));
+							ast_string_field_set(o->chan, accountcode, in->accountcode);
 							o->chan->cdrflags = in->cdrflags;
 						}
 
@@ -1089,11 +1090,11 @@
 			tmp->chan->cid.cid_ani = strdup(chan->cid.cid_ani);
 		
 		/* Copy language from incoming to outgoing */
-		ast_copy_string(tmp->chan->language, chan->language, sizeof(tmp->chan->language));
-		ast_copy_string(tmp->chan->accountcode, chan->accountcode, sizeof(tmp->chan->accountcode));
+		ast_string_field_set(tmp->chan, language, chan->language);
+		ast_string_field_set(tmp->chan, accountcode, chan->accountcode);
 		tmp->chan->cdrflags = chan->cdrflags;
 		if (ast_strlen_zero(tmp->chan->musicclass))
-			ast_copy_string(tmp->chan->musicclass, chan->musicclass, sizeof(tmp->chan->musicclass));
+			ast_string_field_set(tmp->chan, musicclass, chan->musicclass);
 		if (chan->cid.cid_rdnis)
 			tmp->chan->cid.cid_rdnis = strdup(chan->cid.cid_rdnis);
 		/* Pass callingpres setting */

Modified: team/oej/iptos/apps/app_disa.c
URL: http://svn.digium.com/view/asterisk/team/oej/iptos/apps/app_disa.c?rev=9084&r1=9083&r2=9084&view=diff
==============================================================================
--- team/oej/iptos/apps/app_disa.c (original)
+++ team/oej/iptos/apps/app_disa.c Thu Feb  2 11:33:57 2006
@@ -47,6 +47,7 @@
 #include "asterisk/translate.h"
 #include "asterisk/ulaw.h"
 #include "asterisk/callerid.h"
+#include "asterisk/stringfields.h"
 
 static char *tdesc = "DISA (Direct Inward System Access) Application";
 
@@ -347,7 +348,7 @@
 			}
 
 			if (!ast_strlen_zero(acctcode))
-				ast_copy_string(chan->accountcode, acctcode, sizeof(chan->accountcode));
+				ast_string_field_set(chan, accountcode, acctcode);
 
 			if (special_noanswer) flags.flags = 0;
 			ast_cdr_reset(chan->cdr, &flags);

Modified: team/oej/iptos/apps/app_dumpchan.c
URL: http://svn.digium.com/view/asterisk/team/oej/iptos/apps/app_dumpchan.c?rev=9084&r1=9083&r2=9084&view=diff
==============================================================================
--- team/oej/iptos/apps/app_dumpchan.c (original)
+++ team/oej/iptos/apps/app_dumpchan.c Thu Feb  2 11:33:57 2006
@@ -106,7 +106,7 @@
 			 "Data=               %s\n"
 			 "Blocking_in=        %s\n",
 			 c->name,
-			 c->type,
+			 c->tech->type,
 			 c->uniqueid,
 			 (c->cid.cid_num ? c->cid.cid_num : "(N/A)"),
 			 (c->cid.cid_name ? c->cid.cid_name : "(N/A)"),

Modified: team/oej/iptos/apps/app_flash.c
URL: http://svn.digium.com/view/asterisk/team/oej/iptos/apps/app_flash.c?rev=9084&r1=9083&r2=9084&view=diff
==============================================================================
--- team/oej/iptos/apps/app_flash.c (original)
+++ team/oej/iptos/apps/app_flash.c Thu Feb  2 11:33:57 2006
@@ -82,7 +82,7 @@
 	struct localuser *u;
 	struct zt_params ztp;
 	LOCAL_USER_ADD(u);
-	if (!strcasecmp(chan->type, "Zap")) {
+	if (!strcasecmp(chan->tech->type, "Zap")) {
 		memset(&ztp, 0, sizeof(ztp));
 		res = ioctl(chan->fds[0], ZT_GET_PARAMS, &ztp);
 		if (!res) {

Modified: team/oej/iptos/apps/app_meetme.c
URL: http://svn.digium.com/view/asterisk/team/oej/iptos/apps/app_meetme.c?rev=9084&r1=9083&r2=9084&view=diff
==============================================================================
--- team/oej/iptos/apps/app_meetme.c (original)
+++ team/oej/iptos/apps/app_meetme.c Thu Feb  2 11:33:57 2006
@@ -206,7 +206,6 @@
 };
 
 static int admin_exec(struct ast_channel *chan, void *data);
-static struct ast_frame null_frame = { AST_FRAME_NULL, };
 
 static void *recordthread(void *args);
 
@@ -997,7 +996,7 @@
 	}
 
 	ast_indicate(chan, -1);
-	retryzap = strcasecmp(chan->type, "Zap");
+	retryzap = strcasecmp(chan->tech->type, "Zap");
 	user->zapchannel = !retryzap;
 
  zapretry:
@@ -1303,7 +1302,7 @@
 						using_pseudo = 0;
 					}
 					ast_log(LOG_DEBUG, "Ooh, something swapped out under us, starting over\n");
-					retryzap = strcasecmp(c->type, "Zap");
+					retryzap = strcasecmp(c->tech->type, "Zap");
 					user->zapchannel = !retryzap;
 					goto zapretry;
 				}
@@ -1574,7 +1573,7 @@
 								if (conf->transpath[index]) {
 									conf->transframe[index] = ast_translate(conf->transpath[index], conf->origframe, 0);
 									if (!conf->transframe[index])
-										conf->transframe[index] = &null_frame;
+										conf->transframe[index] = &ast_null_frame;
 								}
 							}
 						}

Modified: team/oej/iptos/apps/app_queue.c
URL: http://svn.digium.com/view/asterisk/team/oej/iptos/apps/app_queue.c?rev=9084&r1=9083&r2=9084&view=diff
==============================================================================
--- team/oej/iptos/apps/app_queue.c (original)
+++ team/oej/iptos/apps/app_queue.c Thu Feb  2 11:33:57 2006
@@ -91,6 +91,7 @@
 #include "asterisk/causes.h"
 #include "asterisk/astdb.h"
 #include "asterisk/devicestate.h"
+#include "asterisk/stringfields.h"
 
 #define QUEUE_STRATEGY_RINGALL		0
 #define QUEUE_STRATEGY_ROUNDROBIN	1
@@ -1735,7 +1736,7 @@
 							if (!o->chan->cid.cid_name)
 								ast_log(LOG_WARNING, "Out of memory\n");	
 						}
-						ast_copy_string(o->chan->accountcode, in->accountcode, sizeof(o->chan->accountcode));
+						ast_string_field_set(o->chan, accountcode, in->accountcode);
 						o->chan->cdrflags = in->cdrflags;
 
 						if (in->cid.cid_ani) {
@@ -2182,9 +2183,9 @@
 		   we will always return with -1 so that it is hung up properly after the 
 		   conversation.  */
 		qe->handled++;
-		if (!strcmp(qe->chan->type,"Zap"))
+		if (!strcmp(qe->chan->tech->type, "Zap"))
 			ast_channel_setoption(qe->chan, AST_OPTION_TONE_VERIFY, &nondataquality, sizeof(nondataquality), 0);
-		if (!strcmp(peer->type,"Zap"))
+		if (!strcmp(peer->tech->type, "Zap"))
 			ast_channel_setoption(peer, AST_OPTION_TONE_VERIFY, &nondataquality, sizeof(nondataquality), 0);
 		/* Update parameters for the queue */
 		recalc_holdtime(qe);

Modified: team/oej/iptos/apps/app_softhangup.c
URL: http://svn.digium.com/view/asterisk/team/oej/iptos/apps/app_softhangup.c?rev=9084&r1=9083&r2=9084&view=diff
==============================================================================
--- team/oej/iptos/apps/app_softhangup.c (original)
+++ team/oej/iptos/apps/app_softhangup.c Thu Feb  2 11:33:57 2006
@@ -84,7 +84,7 @@
 		/* XXX watch out, i think it is wrong to access c-> after unlocking! */
 		if (all) {
 			/* CAPI is set up like CAPI[foo/bar]/clcnt */ 
-			if (!strcmp(c->type,"CAPI")) 
+			if (!strcmp(c->tech->type, "CAPI")) 
 				cut = strrchr(name,'/');
 			/* Basically everything else is Foo/Bar-Z */
 			else

Modified: team/oej/iptos/apps/app_transfer.c
URL: http://svn.digium.com/view/asterisk/team/oej/iptos/apps/app_transfer.c?rev=9084&r1=9083&r2=9084&view=diff
==============================================================================
--- team/oej/iptos/apps/app_transfer.c (original)
+++ team/oej/iptos/apps/app_transfer.c Thu Feb  2 11:33:57 2006
@@ -113,7 +113,7 @@
 		tech = dest;
 		dest = slash + 1;
 		/* Allow execution only if the Tech/destination agrees with the type of the channel */
-		if (strncasecmp(chan->type, tech, len)) {
+		if (strncasecmp(chan->tech->type, tech, len)) {
 			pbx_builtin_setvar_helper(chan, "TRANSFERSTATUS", "FAILURE");
 			LOCAL_USER_REMOVE(u);
 			return 0;

Modified: team/oej/iptos/apps/app_voicemail.c
URL: http://svn.digium.com/view/asterisk/team/oej/iptos/apps/app_voicemail.c?rev=9084&r1=9083&r2=9084&view=diff
==============================================================================
--- team/oej/iptos/apps/app_voicemail.c (original)
+++ team/oej/iptos/apps/app_voicemail.c Thu Feb  2 11:33:57 2006
@@ -72,6 +72,7 @@
 #include "asterisk/localtime.h"
 #include "asterisk/cli.h"
 #include "asterisk/utils.h"
+#include "asterisk/stringfields.h"
 #ifdef USE_ODBC_STORAGE
 #include "asterisk/res_odbc.h"
 #endif
@@ -2655,7 +2656,7 @@
 }
 
 
-static int say_and_wait(struct ast_channel *chan, int num, char *language)
+static int say_and_wait(struct ast_channel *chan, int num, const char *language)
 {
 	int d;
 	d = ast_say_number(chan, num, AST_DIGIT_ANY, language, (char *) NULL);
@@ -5150,7 +5151,7 @@
 	
 	/* Set language from config to override channel language */
 	if (!ast_strlen_zero(vmu->language))
-		ast_copy_string(chan->language, vmu->language, sizeof(chan->language));
+		ast_string_field_set(chan, language, vmu->language);
 	create_dirpath(vms.curdir, sizeof(vms.curdir), vmu->context, vms.username, "");
 	/* Retrieve old and new message counts */
 	res = open_mailbox(&vms, vmu, 1);

Modified: team/oej/iptos/apps/app_zapbarge.c
URL: http://svn.digium.com/view/asterisk/team/oej/iptos/apps/app_zapbarge.c?rev=9084&r1=9083&r2=9084&view=diff
==============================================================================
--- team/oej/iptos/apps/app_zapbarge.c (original)
+++ team/oej/iptos/apps/app_zapbarge.c Thu Feb  2 11:33:57 2006
@@ -131,7 +131,7 @@
 		goto outrun;
 	}
 	ast_indicate(chan, -1);
-	retryzap = strcasecmp(chan->type, "Zap");
+	retryzap = strcasecmp(chan->tech->type, "Zap");
 zapretry:
 	origfd = chan->fds[0];
 	if (retryzap) {

Modified: team/oej/iptos/apps/app_zapras.c
URL: http://svn.digium.com/view/asterisk/team/oej/iptos/apps/app_zapras.c?rev=9084&r1=9083&r2=9084&view=diff
==============================================================================
--- team/oej/iptos/apps/app_zapras.c (original)
+++ team/oej/iptos/apps/app_zapras.c Thu Feb  2 11:33:57 2006
@@ -217,7 +217,7 @@
 	/* Answer the channel if it's not up */
 	if (chan->_state != AST_STATE_UP)
 		ast_answer(chan);
-	if (strcasecmp(chan->type, "Zap")) {
+	if (strcasecmp(chan->tech->type, "Zap")) {
 		/* If it's not a zap channel, we're done.  Wait a couple of
 		   seconds and then hangup... */
 		if (option_verbose > 1)

Modified: team/oej/iptos/apps/app_zapscan.c
URL: http://svn.digium.com/view/asterisk/team/oej/iptos/apps/app_zapscan.c?rev=9084&r1=9083&r2=9084&view=diff
==============================================================================
--- team/oej/iptos/apps/app_zapscan.c (original)
+++ team/oej/iptos/apps/app_zapscan.c Thu Feb  2 11:33:57 2006
@@ -137,7 +137,7 @@
 		goto outrun;
 	}
 	ast_indicate(chan, -1);
-	retryzap = strcasecmp(chan->type, "Zap");
+	retryzap = strcasecmp(chan->tech->type, "Zap");
  zapretry:
 	origfd = chan->fds[0];
 	if (retryzap) {
@@ -345,7 +345,7 @@
 				continue;
 			}
 		}
-		if ( tempchan && tempchan->type && (!strcmp(tempchan->type, "Zap")) && (tempchan != chan) ) {
+		if (tempchan && (!strcmp(tempchan->tech->type, "Zap")) && (tempchan != chan) ) {
 			ast_verbose(VERBOSE_PREFIX_3 "Zap channel %s is in-use, monitoring...\n", tempchan->name);
 			ast_copy_string(confstr, tempchan->name, sizeof(confstr));
 			ast_mutex_unlock(&tempchan->lock);

Modified: team/oej/iptos/cdr.c
URL: http://svn.digium.com/view/asterisk/team/oej/iptos/cdr.c?rev=9084&r1=9083&r2=9084&view=diff
==============================================================================
--- team/oej/iptos/cdr.c (original)
+++ team/oej/iptos/cdr.c Thu Feb  2 11:33:57 2006
@@ -54,6 +54,7 @@
 #include "asterisk/config.h"
 #include "asterisk/cli.h"
 #include "asterisk/module.h"
+#include "asterisk/stringfields.h"
 
 /*! Default AMA flag for billing records (CDR's) */
 int ast_default_amaflags = AST_CDR_DOCUMENTATION;
@@ -535,7 +536,7 @@
 	return res;
 }
 
-void ast_cdr_setdestchan(struct ast_cdr *cdr, char *chann)
+void ast_cdr_setdestchan(struct ast_cdr *cdr, const char *chann)
 {
 	char *chan; 
 
@@ -682,7 +683,7 @@
 {
 	struct ast_cdr *cdr = chan->cdr;
 
-	ast_copy_string(chan->accountcode, account, sizeof(chan->accountcode));
+	ast_string_field_set(chan, accountcode, account);
 	while (cdr) {
 		if (!ast_test_flag(cdr, AST_CDR_FLAG_LOCKED))
 			ast_copy_string(cdr->accountcode, chan->accountcode, sizeof(cdr->accountcode));

Modified: team/oej/iptos/cdr/Makefile
URL: http://svn.digium.com/view/asterisk/team/oej/iptos/cdr/Makefile?rev=9084&r1=9083&r2=9084&view=diff
==============================================================================
--- team/oej/iptos/cdr/Makefile (original)
+++ team/oej/iptos/cdr/Makefile Thu Feb  2 11:33:57 2006
@@ -112,6 +112,8 @@
 install: all
 	for x in $(MODS); do $(INSTALL) -m 755 $$x $(DESTDIR)$(MODULES_DIR) ; done
 
+uninstall:
+
 clean:
 	rm -f *.so *.o .depend
 

Modified: team/oej/iptos/channel.c
URL: http://svn.digium.com/view/asterisk/team/oej/iptos/channel.c?rev=9084&r1=9083&r2=9084&view=diff
==============================================================================
--- team/oej/iptos/channel.c (original)
+++ team/oej/iptos/channel.c Thu Feb  2 11:33:57 2006
@@ -604,6 +604,8 @@
 		return NULL;
 	}
 	
+	ast_string_field_init(tmp, 128);
+
 	/* Don't bother initializing the last two FD here, because they
 	   will *always* be set just a few lines down (AST_TIMING_FD,
 	   AST_ALERT_FD). */
@@ -642,7 +644,7 @@
 	tmp->fds[AST_ALERT_FD] = tmp->alertpipe[0];
 	/* And timing pipe */
 	tmp->fds[AST_TIMING_FD] = tmp->timingfd;
-	strcpy(tmp->name, "**Unknown**");
+	ast_string_field_set(tmp, name, "**Unknown**");
 	/* Initial state */
 	tmp->_state = AST_STATE_DOWN;
 	tmp->streamid = -1;
@@ -657,11 +659,11 @@
 	ast_mutex_init(&tmp->lock);
 	AST_LIST_HEAD_INIT_NOLOCK(headp);
 	strcpy(tmp->context, "default");
-	ast_copy_string(tmp->language, defaultlanguage, sizeof(tmp->language));
+	ast_string_field_set(tmp, language, defaultlanguage);
 	strcpy(tmp->exten, "s");
 	tmp->priority = 1;
 	tmp->amaflags = ast_default_amaflags;
-	ast_copy_string(tmp->accountcode, ast_default_accountcode, sizeof(tmp->accountcode));
+	ast_string_field_set(tmp, accountcode, ast_default_accountcode);
 
 	tmp->tech = &null_tech;
 
@@ -1760,17 +1762,13 @@
 	void *data;
 	int res;
 #endif
-	static struct ast_frame null_frame = {
-		AST_FRAME_NULL,
-	};
-	
 	ast_mutex_lock(&chan->lock);
 	if (chan->masq) {
 		if (ast_do_masquerade(chan)) {
 			ast_log(LOG_WARNING, "Failed to perform masquerade\n");
 			f = NULL;
 		} else
-			f =  &null_frame;
+			f =  &ast_null_frame;
 		ast_mutex_unlock(&chan->lock);
 		return f;
 	}
@@ -1838,8 +1836,7 @@
 				chan->timingdata = NULL;
 				ast_mutex_unlock(&chan->lock);
 			}
-			f =  &null_frame;
-			return f;
+			return &ast_null_frame;
 		} else
 			ast_log(LOG_NOTICE, "No/unknown event '%d' on timer for '%s'?\n", blah, chan->name);
 	} else
@@ -1851,8 +1848,7 @@
 		chan->generatordata = NULL;     /* reset to let ast_write get through */
 		chan->generator->generate(chan, tmp, -1, -1);
 		chan->generatordata = tmp;
-		f = &null_frame;
-		return f;
+		return &ast_null_frame;
 	}
 
 	/* Check for pending read queue */
@@ -1872,7 +1868,7 @@
 				f = chan->tech->exception(chan);
 			else {
 				ast_log(LOG_WARNING, "Exception flag set on '%s', but no exception handler\n", chan->name);
-				f = &null_frame;
+				f = &ast_null_frame;
 			}
 			/* Clear the exception flag */
 			ast_clear_flag(chan, AST_FLAG_EXCEPTION);
@@ -1898,7 +1894,7 @@
 			if (f->subclass == AST_CONTROL_ANSWER) {
 				if (prestate == AST_STATE_UP) {
 					ast_log(LOG_DEBUG, "Dropping duplicate answer!\n");
-					f = &null_frame;
+					f = &ast_null_frame;
 				}
 				/* Answer the CDR */
 				ast_setstate(chan, AST_STATE_UP);
@@ -1912,7 +1908,7 @@
 					chan->dtmfq[strlen(chan->dtmfq)] = f->subclass;
 				else
 					ast_log(LOG_WARNING, "Dropping deferred DTMF digits on %s\n", chan->name);
-				f = &null_frame;
+				f = &ast_null_frame;
 			}
 			break;
 		case AST_FRAME_DTMF_BEGIN:
@@ -1924,14 +1920,14 @@
 		case AST_FRAME_VOICE:
 			if (dropaudio) {
 				ast_frfree(f);
-				f = &null_frame;
+				f = &ast_null_frame;
 			} else if (!(f->subclass & chan->nativeformats)) {
 				/* This frame can't be from the current native formats -- drop it on the
 				   floor */
 				ast_log(LOG_NOTICE, "Dropping incompatible voice frame on %s of format %s since our native format has changed to %s\n",
 					chan->name, ast_getformatname(f->subclass), ast_getformatname(chan->nativeformats));
 				ast_frfree(f);
-				f = &null_frame;
+				f = &ast_null_frame;
 			} else {
 				if (chan->spies)
 					queue_frame_to_spies(chan, f, SPY_READ);
@@ -1962,7 +1958,7 @@
 
 				if (chan->readtrans) {
 					if (!(f = ast_translate(chan->readtrans, f, 1)))
-						f = &null_frame;
+						f = &ast_null_frame;
 				}
 
 				/* Run any generator sitting on the channel */
@@ -2811,10 +2807,8 @@
 
 void ast_change_name(struct ast_channel *chan, char *newname)
 {
-	char tmp[256];
-	ast_copy_string(tmp, chan->name, sizeof(tmp));
-	ast_copy_string(chan->name, newname, sizeof(chan->name));
-	manager_event(EVENT_FLAG_CALL, "Rename", "Oldname: %s\r\nNewname: %s\r\nUniqueid: %s\r\n", tmp, chan->name, chan->uniqueid);
+	manager_event(EVENT_FLAG_CALL, "Rename", "Oldname: %s\r\nNewname: %s\r\nUniqueid: %s\r\n", chan->name, newname, chan->uniqueid);
+	ast_string_field_set(chan, name, newname);
 }
 
 void ast_channel_inherit_variables(const struct ast_channel *parent, struct ast_channel *child)
@@ -2947,10 +2941,10 @@
 	snprintf(masqn, sizeof(masqn), "%s<MASQ>", newn);
 		
 	/* Copy the name from the clone channel */
-	ast_copy_string(original->name, newn, sizeof(original->name));
+	ast_string_field_set(original, name, newn);
 
 	/* Mangle the name of the clone channel */
-	ast_copy_string(clone->name, masqn, sizeof(clone->name));
+	ast_string_field_set(clone, name, masqn);
 	
 	/* Notify any managers of the change, first the masq then the other */
 	manager_event(EVENT_FLAG_CALL, "Rename", "Oldname: %s\r\nNewname: %s\r\nUniqueid: %s\r\n", newn, masqn, clone->uniqueid);
@@ -3032,17 +3026,16 @@
 	
 	snprintf(zombn, sizeof(zombn), "%s<ZOMBIE>", orig);
 	/* Mangle the name of the clone channel */
-	ast_copy_string(clone->name, zombn, sizeof(clone->name));
+	ast_string_field_set(clone, name, zombn);
 	manager_event(EVENT_FLAG_CALL, "Rename", "Oldname: %s\r\nNewname: %s\r\nUniqueid: %s\r\n", masqn, zombn, clone->uniqueid);
 
 	/* Update the type. */
-	original->type = clone->type;
 	t_pvt = original->monitor;
 	original->monitor = clone->monitor;
 	clone->monitor = t_pvt;
 	
 	/* Keep the same language.  */
-	ast_copy_string(original->language, clone->language, sizeof(original->language));
+	ast_string_field_set(original, language, clone->language);
 	/* Copy the FD's other than the generator fd */
 	for (x = 0; x < AST_MAX_FDS; x++) {
 		if (x != AST_GENERATOR_FD)
@@ -3085,7 +3078,7 @@
 	ast_set_read_format(original, rformat);
 
 	/* Copy the music class */
-	ast_copy_string(original->musicclass, clone->musicclass, sizeof(original->musicclass));
+	ast_string_field_set(original, musicclass, clone->musicclass);
 
 	ast_log(LOG_DEBUG, "Putting channel %s in %d/%d formats\n", original->name, wformat, rformat);
 
@@ -3095,13 +3088,13 @@
 		res = original->tech->fixup(clone, original);
 		if (res) {
 			ast_log(LOG_WARNING, "Channel for type '%s' could not fixup channel %s\n",
-				original->type, original->name);
+				original->tech->type, original->name);
 			ast_mutex_unlock(&clone->lock);
 			return -1;
 		}
 	} else
 		ast_log(LOG_WARNING, "Channel type '%s' does not have a fixup routine (for %s)!  Bad things may happen.\n",
-			original->type, original->name);
+			original->tech->type, original->name);
 	
 	/* Now, at this point, the "clone" channel is totally F'd up.  We mark it as
 	   a zombie so nothing tries to touch it.  If it's already been marked as a
@@ -3121,10 +3114,9 @@
 			);
 		ast_channel_free(clone);
 	} else {
-		struct ast_frame null_frame = { AST_FRAME_NULL, };
 		ast_log(LOG_DEBUG, "Released clone lock on '%s'\n", clone->name);
 		ast_set_flag(clone, AST_FLAG_ZOMBIE);
-		ast_queue_frame(clone, &null_frame);
+		ast_queue_frame(clone, &ast_null_frame);
 		ast_mutex_unlock(&clone->lock);
 	}
 	
@@ -3782,15 +3774,13 @@
 	return group;
 }
 
-static int (*ast_moh_start_ptr)(struct ast_channel *, char *) = NULL;
+static int (*ast_moh_start_ptr)(struct ast_channel *, const char *) = NULL;
 static void (*ast_moh_stop_ptr)(struct ast_channel *) = NULL;
 static void (*ast_moh_cleanup_ptr)(struct ast_channel *) = NULL;
 
-
-void ast_install_music_functions(int (*start_ptr)(struct ast_channel *, char *),
-								 void (*stop_ptr)(struct ast_channel *),
-								 void (*cleanup_ptr)(struct ast_channel *)
-								 ) 
+void ast_install_music_functions(int (*start_ptr)(struct ast_channel *, const char *),
+				 void (*stop_ptr)(struct ast_channel *),
+				 void (*cleanup_ptr)(struct ast_channel *))
 {
 	ast_moh_start_ptr = start_ptr;
 	ast_moh_stop_ptr = stop_ptr;
@@ -3805,7 +3795,7 @@
 }
 
 /*! \brief Turn on music on hold on a given channel */
-int ast_moh_start(struct ast_channel *chan, char *mclass) 
+int ast_moh_start(struct ast_channel *chan, const char *mclass) 
 {
 	if (ast_moh_start_ptr)
 		return ast_moh_start_ptr(chan, mclass);

Modified: team/oej/iptos/channels/Makefile
URL: http://svn.digium.com/view/asterisk/team/oej/iptos/channels/Makefile?rev=9084&r1=9083&r2=9084&view=diff
==============================================================================
--- team/oej/iptos/channels/Makefile (original)
+++ team/oej/iptos/channels/Makefile Thu Feb  2 11:33:57 2006
@@ -234,6 +234,8 @@
 	for x in $(CHANNEL_LIBS); do $(INSTALL) -m 755 $$x $(DESTDIR)$(MODULES_DIR) ; done
 	if ! [ -f chan_iax.so ]; then rm -f $(DESTDIR)$(MODULES_DIR)/chan_iax.so ; fi
 
+uninstall:
+
 depend: .depend
 
 .depend:
@@ -241,4 +243,3 @@
 
 env:
 	env
-

Modified: team/oej/iptos/channels/chan_agent.c
URL: http://svn.digium.com/view/asterisk/team/oej/iptos/channels/chan_agent.c?rev=9084&r1=9083&r2=9084&view=diff
==============================================================================
--- team/oej/iptos/channels/chan_agent.c (original)
+++ team/oej/iptos/channels/chan_agent.c Thu Feb  2 11:33:57 2006
@@ -71,9 +71,9 @@
 #include "asterisk/astdb.h"
 #include "asterisk/devicestate.h"
 #include "asterisk/monitor.h"
+#include "asterisk/stringfields.h"
 
 static const char desc[] = "Agent Proxy Channel";
-static const char channeltype[] = "Agent";
 static const char tdesc[] = "Call Agent Proxy Channel";
 static const char config[] = "agents.conf";
 
@@ -257,7 +257,7 @@
 static void set_agentbycallerid(const char *callerid, const char *agent);
 
 static const struct ast_channel_tech agent_tech = {
-	.type = channeltype,
+	.type = "Agent",
 	.description = tdesc,
 	.capabilities = -1,
 	.requester = agent_request,
@@ -438,7 +438,6 @@
 {
 	struct agent_pvt *p = ast->tech_pvt;
 	struct ast_frame *f = NULL;
-	static struct ast_frame null_frame = { AST_FRAME_NULL, };
 	static struct ast_frame answer_frame = { AST_FRAME_CONTROL, AST_CONTROL_ANSWER };
 	const char *status;
 	ast_mutex_lock(&p->lock); 
@@ -448,7 +447,7 @@
 		p->chan->fdno = (ast->fdno == AST_AGENT_FD) ? AST_TIMING_FD : ast->fdno;
 		f = ast_read(p->chan);
 	} else
-		f = &null_frame;
+		f = &ast_null_frame;
 	if (!f) {
 		/* If there's a channel, hang it up (if it's on a callback) make it NULL */
 		if (p->chan) {
@@ -486,7 +485,7 @@
  						ast_verbose(VERBOSE_PREFIX_3 "%s answered, waiting for '#' to acknowledge\n", p->chan->name);
  					/* Don't pass answer along */
  					ast_frfree(f);
- 					f = &null_frame;
+ 					f = &ast_null_frame;
  				} else {
  					p->acknowledged = 1;
  					/* Use the builtin answer frame for the 
@@ -513,7 +512,7 @@
  			/* don't pass voice until the call is acknowledged */
  			if (!p->acknowledged) {
  				ast_frfree(f);
- 				f = &null_frame;
+ 				f = &ast_null_frame;
  			}
  			break;
   		}
@@ -521,7 +520,7 @@
 
 	CLEANUP(ast,p);
 	if (p->chan && !p->chan->_bridge) {
-		if (strcasecmp(p->chan->type, "Local")) {
+		if (strcasecmp(p->chan->tech->type, "Local")) {
 			p->chan->_bridge = ast;
 			if (p->chan)
 				ast_log(LOG_DEBUG, "Bridge on '%s' being set to '%s' (3)\n", p->chan->name, p->chan->_bridge->name);
@@ -899,7 +898,6 @@
 static struct ast_channel *agent_new(struct agent_pvt *p, int state)
 {
 	struct ast_channel *tmp;
-	struct ast_frame null_frame = { AST_FRAME_NULL };
 #if 0
 	if (!p->chan) {
 		ast_log(LOG_WARNING, "No channel? :(\n");
@@ -915,7 +913,7 @@
 			tmp->rawwriteformat = p->chan->writeformat;
 			tmp->readformat = p->chan->readformat;
 			tmp->rawreadformat = p->chan->readformat;
-			ast_copy_string(tmp->language, p->chan->language, sizeof(tmp->language));
+			ast_string_field_set(tmp, language, p->chan->language);
 			ast_copy_string(tmp->context, p->chan->context, sizeof(tmp->context));
 			ast_copy_string(tmp->exten, p->chan->exten, sizeof(tmp->exten));
 		} else {
@@ -926,10 +924,9 @@
 			tmp->rawreadformat = AST_FORMAT_SLINEAR;
 		}
 		if (p->pending)
-			snprintf(tmp->name, sizeof(tmp->name), "Agent/P%s-%d", p->agent, rand() & 0xffff);
+			ast_string_field_build(tmp, name, "Agent/P%s-%d", p->agent, rand() & 0xffff);
 		else
-			snprintf(tmp->name, sizeof(tmp->name), "Agent/%s", p->agent);
-		tmp->type = channeltype;
+			ast_string_field_build(tmp, name, "Agent/%s", p->agent);
 		/* Safe, agentlock already held */
 		ast_setstate(tmp, state);
 		tmp->tech_pvt = p;
@@ -950,7 +947,7 @@
 		if( ast_mutex_trylock(&p->app_lock) )
 		{
 			if (p->chan) {
-				ast_queue_frame(p->chan, &null_frame);
+				ast_queue_frame(p->chan, &ast_null_frame);
 				ast_mutex_unlock(&p->lock);	/* For other thread to read the condition. */
 				ast_mutex_lock(&p->app_lock);
 				ast_mutex_lock(&p->lock);
@@ -2493,7 +2490,7 @@
 {

[... 3054 lines stripped ...]


More information about the asterisk-commits mailing list