This is way beyond my understanding of Asterisk but it appears that an IE is an information element (username etc) and of course IAX is Inter-Asterisk eXchange, the Asterisk and Allstar linking protocol. 

Outside of the obvious reboot I don’t know how one would clear what appears to be the iax_ie buffer. I remember we found a bug where when a large number of nodes (say 100 or more) were connected app_rpt would crash. Jim fixed it by making some buffer larger. Perhaps that’s what your diff shows. 

I’ve been complaining to Jim about short uptimes so he build a compile for me with a command “memory show summary”.  I set up a cron to log that every hour. Just before the last crash iax2-parser exploded in size. So I’m sure there is still a bug to be squashed. We’re exploring the squashing options at this time.  
--
Tim
:wq

On Dec 15, 2013, at 12:47 PM, Geoff <ars.w5omr@gmail.com> wrote:

Really?  This is odd...

I got a message, that flashed in my face that said something like '...is full.  need room for 51, have 6' or something...


Sure enough, I went to looking through the drive to see what was taking up so freakin' much room (80gig drive) so when I looked at how much room was left on the drive, I got more confused...

[root@W5OMR /var/log/asterisk]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/hdb1              72G  1.7G   66G   3% /
tmpfs                 759M     0  759M   0% /dev/shm


I looked.. and looked again.  Yeah... that's 3% *currently being used*.

But, still, the warning message was still there.


WARNING[9667] chan_iax2.c: Out of space for ie 'Unknown IE' (54), need 51 have 6


Sooo... I went to Goggling.


Index: iax2-parser.c
===================================================================
RCS file: /usr/cvsroot/asterisk/channels/iax2-parser.c,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -d -r1.21 -r1.22
--- iax2-parser.c	25 May 2004 15:16:45 -0000	1.21
+++ iax2-parser.c	13 Jun 2004 21:25:10 -0000	1.22
~~~
/\/\/\/\
~~~


int iax_ie_append_raw(struct iax_ie_data *ied, unsigned char ie, void *data, int datalen)
 {
 	char tmp[256];
-	if (datalen > (sizeof(ied->buf) - ied->pos)) {
-		snprintf(tmp, sizeof(tmp), "Out of space for ie '%s' (%d), need %d have %d\n", iax_ie2str(ie), ie, datalen, sizeof(ied->buf) - ied->pos);
+	if (datalen > ((int)sizeof(ied->buf) - ied->pos)) {
+		snprintf(tmp, (int)sizeof(tmp), "Out of space for ie '%s' (%d), need %d have %d\n", iax_ie2str(ie), ie, datalen, (int)sizeof(ied->buf) - ied->pos);
 		errorf(tmp);
 		return -1;
 	}
@@ -325,21 +325,21 @@
 
 int iax_ie_append_addr(struct iax_ie_data *ied, unsigned char ie, struct sockaddr_in *sin)
 {
-	return iax_ie_append_raw(ied, ie, sin, sizeof(struct sockaddr_in));
+	return iax_ie_append_raw(ied, ie, sin, (int)sizeof(struct sockaddr_in));
 }

WHAT Buffer is full?

How can it be emptied?
Is it hurting my system?

Ok, ok... probably a little paranoid sounding on the last... but it -is- a [WARNING]...

Whassup?

_______________________________________________
App_rpt-users mailing list
App_rpt-users@ohnosec.org
http://ohnosec.org/cgi-bin/mailman/listinfo/app_rpt-users