[asterisk-commits] trunk r16011 - /trunk/callerid.c

asterisk-commits at lists.digium.com asterisk-commits at lists.digium.com
Tue Mar 28 21:34:56 MST 2006


Author: oej
Date: Tue Mar 28 22:34:55 2006
New Revision: 16011

URL: http://svn.digium.com/view/asterisk?rev=16011&view=rev
Log:
- Formatting fixes
- Doxygen

Modified:
    trunk/callerid.c

Modified: trunk/callerid.c
URL: http://svn.digium.com/view/asterisk/trunk/callerid.c?rev=16011&r1=16010&r2=16011&view=diff
==============================================================================
--- trunk/callerid.c (original)
+++ trunk/callerid.c Tue Mar 28 22:34:55 2006
@@ -219,7 +219,7 @@
 			"parsing might be unreliable\n");
 		for (i = 0; i < strlen(cidstring); i++) {
 			if (isdigit(cidstring[i]))
-                                number[i] = cidstring[i];
+				number[i] = cidstring[i];
 			else
 				break;
 		}
@@ -254,21 +254,24 @@
 
 static unsigned short calc_crc(unsigned short crc, unsigned char data)
 {
-   	unsigned int i, j, org, dst;
-   	org = data;
-   	dst = 0;
-   	for (i=0; i<CHAR_BIT; i++) {
-       	org <<= 1;
-       	dst >>= 1;
-       	if (org & 0x100) {
-           	dst |= 0x80;
-       	}
-   	}
-   	data = (unsigned char)dst;
+	unsigned int i, j, org, dst;
+	org = data;
+	dst = 0;
+
+	for (i=0; i < CHAR_BIT; i++) {
+		org <<= 1;
+		dst >>= 1;
+		if (org & 0x100) {
+			dst |= 0x80;
+		}
+	}
+	data = (unsigned char)dst;
 	crc ^= (unsigned int)data << (16 - CHAR_BIT);
 	for ( j=0; j<CHAR_BIT; j++ ) {
-		if ( crc & 0x8000U ) crc = (crc << 1) ^ 0x1021U ;
-		else crc <<= 1 ;
+		if ( crc & 0x8000U )
+			crc = (crc << 1) ^ 0x1021U ;
+		else
+			crc <<= 1 ;
 	}
    	return crc;
 }
@@ -296,7 +299,7 @@
 		buf[x+cid->oldlen/2] = AST_XLAW(ubuf[x]);
 
 	while (mylen >= 160) {
-        b = b2 = 0 ;
+	b = b2 = 0 ;
 		olen = mylen;
 		res = fsk_serie(&cid->fskd, buf, &mylen, &b);
 
@@ -407,103 +410,108 @@
 					/* extract caller id data */
 					for (x=0; x<cid->pos; ) {
 						switch (cid->rawdata[x++]) {
-							case 0x02: /* caller id  number */
-								cid->number[0] = '\0';
-								cid->name[0] = '\0';
-								cid->flags = 0;
-								res = cid->rawdata[x++];
-								ast_copy_string(cid->number, &cid->rawdata[x], res+1 );
-                                x += res;
-								break;
-							case 0x21: /* additional information */
-								/* length */
-                                x++; 
-								/* number type */
-                           		switch (cid->rawdata[x]) { 
-									case 0x00: /* unknown */
-									case 0x01: /* international number */
-									case 0x02: /* domestic number */
-									case 0x03: /* network */
-									case 0x04: /* local call */
-									case 0x06: /* short dial number */
-									case 0x07: /* reserved */
-									default:   /* reserved */
-										ast_log(LOG_NOTICE, "cid info:#1=%X\n", cid->rawdata[x]);
-										break ;
-								}
-                                x++; 
-								/* numbering plan octed 4 */
-                                x++; 
-								/* numbering plan octed 5 */
-                           		switch (cid->rawdata[x]) { 
-									case 0x00: /* unknown */
-									case 0x01: /* recommendation E.164 ISDN */
-									case 0x03: /* recommendation X.121 */
-									case 0x04: /* telex dial plan */
-									case 0x08: /* domestic dial plan */
-									case 0x09: /* private dial plan */
-									case 0x05: /* reserved */
-									default:   /* reserved */
-										ast_log(LOG_NOTICE, "cid info:#2=%X\n", cid->rawdata[x]);
-										break ;
-								}
-                                x++; 
+						case 0x02: /* caller id  number */
+							cid->number[0] = '\0';
+							cid->name[0] = '\0';
+							cid->flags = 0;
+							res = cid->rawdata[x++];
+							ast_copy_string(cid->number, &cid->rawdata[x], res+1 );
+							x += res;
+							break;
+						case 0x21: /* additional information */
+							/* length */
+							x++; 
+							/* number type */
+                        		   		switch (cid->rawdata[x]) { 
+							case 0x00: /* unknown */
+							case 0x01: /* international number */
+							case 0x02: /* domestic number */
+							case 0x03: /* network */
+							case 0x04: /* local call */
+							case 0x06: /* short dial number */
+							case 0x07: /* reserved */
+							default:   /* reserved */
+								if (option_debug > 1)
+									ast_log(LOG_DEBUG, "cid info:#1=%X\n", cid->rawdata[x]);
 								break ;
-							case 0x04: /* no callerid reason */
-								/* length */
-                                x++; 
-								/* no callerid reason code */
-                            	switch (cid->rawdata[x]) {
-									case 'P': /* caller id denied by user */
-									case 'O': /* service not available */
-									case 'C': /* pay phone */
-									case 'S': /* service congested */
-                    					cid->flags |= CID_UNKNOWN_NUMBER;
-										ast_log(LOG_NOTICE, "no cid reason:%c\n",cid->rawdata[x]);
-										break ;
-								}
-                                x++; 
+							}
+							x++; 
+							/* numbering plan octed 4 */
+							x++; 
+							/* numbering plan octed 5 */
+							switch (cid->rawdata[x]) { 
+							case 0x00: /* unknown */
+							case 0x01: /* recommendation E.164 ISDN */
+							case 0x03: /* recommendation X.121 */
+							case 0x04: /* telex dial plan */
+							case 0x08: /* domestic dial plan */
+							case 0x09: /* private dial plan */
+							case 0x05: /* reserved */
+							default:   /* reserved */
+								if (option_debug > 1)
+									ast_log(LOG_DEBUG, "cid info:#2=%X\n", cid->rawdata[x]);
 								break ;
-							case 0x09: /* dialed number */
-								/* length */
-								res = cid->rawdata[x++];
-								/* dialed number */
-								x += res;
+							}
+							x++; 
+							break ;
+						case 0x04: /* no callerid reason */
+							/* length */
+							x++; 
+							/* no callerid reason code */
+							switch (cid->rawdata[x]) {
+							case 'P': /* caller id denied by user */
+							case 'O': /* service not available */
+							case 'C': /* pay phone */
+							case 'S': /* service congested */
+                    						cid->flags |= CID_UNKNOWN_NUMBER;
+								if (option_debug > 1)
+									ast_log(LOG_DEBUG, "no cid reason:%c\n",cid->rawdata[x]);
 								break ;
-							case 0x22: /* dialed number additional information */
-                                /* length */
-                                x++;
-                                /* number type */
-                                switch (cid->rawdata[x]) {
-                                    case 0x00: /* unknown */
-                                    case 0x01: /* international number */
-                                    case 0x02: /* domestic number */
-                                    case 0x03: /* network */
-                                    case 0x04: /* local call */
-                                    case 0x06: /* short dial number */
-                                    case 0x07: /* reserved */
-                                    default:   /* reserved */
-                                        ast_log(LOG_NOTICE, "did info:#1=%X\n", cid->rawdata[x]);
-                                        break ;
-                                }
-                                x++;
-                                /* numbering plan octed 4 */
-                                x++;
-                                /* numbering plan octed 5 */
-                                switch (cid->rawdata[x]) {
-                                    case 0x00: /* unknown */
-                                    case 0x01: /* recommendation E.164 ISDN */
-                                    case 0x03: /* recommendation X.121 */
-                                    case 0x04: /* telex dial plan */
-                                    case 0x08: /* domestic dial plan */
-                                    case 0x09: /* private dial plan */
-                                    case 0x05: /* reserved */
-                                    default:   /* reserved */
-                                        ast_log(LOG_NOTICE, "did info:#2=%X\n", cid->rawdata[x]);
-                                        break ;
-                                }
-                                x++;
-                                break ;
+							}
+							x++; 
+							break ;
+						case 0x09: /* dialed number */
+							/* length */
+							res = cid->rawdata[x++];
+							/* dialed number */
+							x += res;
+							break ;
+						case 0x22: /* dialed number additional information */
+							/* length */
+							x++;
+							/* number type */
+							switch (cid->rawdata[x]) {
+							case 0x00: /* unknown */
+							case 0x01: /* international number */
+							case 0x02: /* domestic number */
+							case 0x03: /* network */
+							case 0x04: /* local call */
+							case 0x06: /* short dial number */
+							case 0x07: /* reserved */
+							default:   /* reserved */
+								if (option_debug > 1)
+									ast_log(LOG_NOTICE, "did info:#1=%X\n", cid->rawdata[x]);
+								break ;
+							}
+							x++;
+							/* numbering plan octed 4 */
+							x++;
+                                			/* numbering plan octed 5 */
+							switch (cid->rawdata[x]) {
+							case 0x00: /* unknown */
+							case 0x01: /* recommendation E.164 ISDN */
+							case 0x03: /* recommendation X.121 */
+							case 0x04: /* telex dial plan */
+							case 0x08: /* domestic dial plan */
+							case 0x09: /* private dial plan */
+							case 0x05: /* reserved */
+							default:   /* reserved */
+								if (option_debug > 1)
+									ast_log(LOG_DEBUG, "did info:#2=%X\n", cid->rawdata[x]);
+								break ;
+							}
+							x++;
+							break ;
 						}
 					}
 					return 1;
@@ -722,7 +730,7 @@
 		res = snprintf(ptr, size, "\002%c", i);
 		size -= res;
 		ptr += res;
-		for (x=0;x<i;x++)
+		for (x = 0; x < i; x++)
 			ptr[x] = number[x];
 		ptr[i] = '\0';
 		ptr += i;
@@ -796,24 +804,24 @@
 		}
 	}
 	sum = 0;
-	for (x=0;x<len;x++)
+	for (x=0; x<len; x++)
 		sum += msg[x];
 	sum = (256 - (sum & 255));
 	msg[len++] = sum;
 	/* Wait a half a second */
-	for (x=0;x<4000;x++)
+	for (x=0; x<4000; x++)
 		PUT_BYTE(0x7f);
 	/* Transmit 30 0x55's (looks like a square wave) for channel seizure */
-	for (x=0;x<30;x++)
+	for (x=0; x<30; x++)
 		PUT_CLID(0x55);
 	/* Send 170ms of callerid marks */
-	for (x=0;x<170;x++)
+	for (x=0; x<170; x++)
 		PUT_CLID_MARKMS;
-	for (x=0;x<len;x++) {
+	for (x=0; x<len; x++) {
 		PUT_CLID(msg[x]);
 	}
 	/* Send 50 more ms of marks */
-	for (x=0;x<50;x++)
+	for (x=0; x<50; x++)
 		PUT_CLID_MARKMS;
 	return bytes;
 }
@@ -823,6 +831,7 @@
 	int bytes=0;
 	int x, sum;
 	int len;
+
 	/* Initial carriers (real/imaginary) */
 	float cr = 1.0;
 	float ci = 0.0;
@@ -831,14 +840,14 @@
 	len = callerid_genmsg(msg, sizeof(msg), number, name, flags);
 	if (!callwaiting) {
 		/* Wait a half a second */
-		for (x=0;x<4000;x++)
+		for (x=0; x<4000; x++)
 			PUT_BYTE(0x7f);
 		/* Transmit 30 0x55's (looks like a square wave) for channel seizure */
-		for (x=0;x<30;x++)
+		for (x=0; x<30; x++)
 			PUT_CLID(0x55);
 	}
 	/* Send 150ms of callerid marks */
-	for (x=0;x<150;x++)
+	for (x=0; x<150; x++)
 		PUT_CLID_MARKMS;
 	/* Send 0x80 indicating MDMF format */
 	PUT_CLID(0x80);
@@ -846,7 +855,7 @@
 	PUT_CLID(len);
 	sum = 0x80 + strlen(msg);
 	/* Put each character of message and update checksum */
-	for (x=0;x<len; x++) {
+	for (x=0; x<len; x++) {
 		PUT_CLID(msg[x]);
 		sum += msg[x];
 	}
@@ -854,21 +863,22 @@
 	PUT_CLID(256 - (sum & 255));
 
 	/* Send 50 more ms of marks */
-	for (x=0;x<50;x++)
+	for (x=0; x<50; x++)
 		PUT_CLID_MARKMS;
 	
 	return bytes;
 }
 
-/*
+/*! \brief Clean up phone string
  * remove '(', ' ', ')', non-trailing '.', and '-' not in square brackets.
  * Basically, remove anything that could be invalid in a pattern.
  */
 void ast_shrink_phone_number(char *n)
 {
-	int x,y=0;
-	int bracketed=0;
-	for (x=0;n[x];x++) {
+	int x, y=0;
+	int bracketed = 0;
+
+	for (x=0; n[x]; x++) {
 		switch(n[x]) {
 		case '[':
 			bracketed++;
@@ -936,6 +946,7 @@
 		}
 	} else {	/* no valid brackets */
 		char tmp[256];
+
 		ast_copy_string(tmp, instr, sizeof(tmp));
 		ast_shrink_phone_number(tmp);
 		if (ast_isphonenumber(tmp)) {	/* Assume it's just a location */
@@ -994,6 +1005,7 @@
 {
 	char *tmp;
 	char *l = NULL, *n = NULL;
+
 	tmp = ast_strdupa(buf);
 	if (!tmp) {
 		name[0] = '\0';
@@ -1013,6 +1025,7 @@
 	return 0;
 }
 
+/*! \brief Translation table for Caller ID Presentation settings */
 static struct {
 	int val;
 	char *name;



More information about the asterisk-commits mailing list