| 
									
										
										
										
											2004-07-07 09:34:01 +00:00
										 |  |  | /*
 | 
					
						
							| 
									
										
										
										
											2006-03-31 10:11:10 +00:00
										 |  |  |  * IAX Provisioning Protocol | 
					
						
							| 
									
										
										
										
											2004-07-07 09:34:01 +00:00
										 |  |  |  * | 
					
						
							|  |  |  |  * Sub-information elements | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * Copyright (C) 2003, Digium | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * Mark Spencer <markster@digium.com> | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2005-10-26 13:03:17 +00:00
										 |  |  | /*! \file
 | 
					
						
							|  |  |  |  *  \brief IAX2 Provisioning protocol | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-01-29 22:58:33 +00:00
										 |  |  | #ifndef __IAX2_PROVISION_H
 | 
					
						
							|  |  |  | #define __IAX2_PROVISION_H
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #include "parser.h"
 | 
					
						
							| 
									
										
										
										
											2004-07-07 09:34:01 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | #define PROV_IE_USEDHCP 	1	/* Presense only */
 | 
					
						
							|  |  |  | #define PROV_IE_IPADDR		2	/* 32-bit */
 | 
					
						
							|  |  |  | #define PROV_IE_SUBNET		3	/* 32-bit */
 | 
					
						
							|  |  |  | #define PROV_IE_GATEWAY		4	/* 32-bit */
 | 
					
						
							|  |  |  | #define PROV_IE_PORTNO		5	/* 16-bit */
 | 
					
						
							|  |  |  | #define PROV_IE_USER		6	/* < 20 bytes */
 | 
					
						
							|  |  |  | #define PROV_IE_PASS		7	/* < 20 bytes */
 | 
					
						
							|  |  |  | #define PROV_IE_SERVERUSER	8	/* < 20 bytes */
 | 
					
						
							|  |  |  | #define PROV_IE_SERVERPASS	9	/* < 20 bytes */
 | 
					
						
							|  |  |  | #define PROV_IE_LANG		10	/* < 10 bytes */
 | 
					
						
							|  |  |  | #define PROV_IE_TOS			11	/* 8-bits */
 | 
					
						
							|  |  |  | #define PROV_IE_FLAGS		12	/* 32-bits */
 | 
					
						
							|  |  |  | #define PROV_IE_FORMAT		13	/* 32-bits */
 | 
					
						
							|  |  |  | #define PROV_IE_AESKEY		14	/* 128-bits */
 | 
					
						
							|  |  |  | #define PROV_IE_SERVERIP	15	/* 32-bits */
 | 
					
						
							|  |  |  | #define PROV_IE_SERVERPORT	16	/* 16-bits */
 | 
					
						
							|  |  |  | #define PROV_IE_NEWAESKEY	17	/* 128-bits */
 | 
					
						
							|  |  |  | #define PROV_IE_PROVVER		18	/* 32-bits */
 | 
					
						
							|  |  |  | #define PROV_IE_ALTSERVER	19	/* 32-bits */
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #define PROV_FLAG_REGISTER		(1 << 0)
 | 
					
						
							|  |  |  | #define PROV_FLAG_SECURE		(1 << 1)
 | 
					
						
							|  |  |  | #define PROV_FLAG_HEARTBEAT		(1 << 2)
 | 
					
						
							|  |  |  | #define PROV_FLAG_DEBUG			(1 << 3)
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2004-11-09 21:19:35 +00:00
										 |  |  | #define PROV_FLAG_DIS_CALLERID	(1 << 4)	/* Caller-ID Disabled */
 | 
					
						
							|  |  |  | #define PROV_FLAG_DIS_CALLWAIT	(1 << 5)	/* Caller-ID / Call Waiting Disable */
 | 
					
						
							|  |  |  | #define PROV_FLAG_DIS_CIDCW		(1 << 6)	/* CID/CW Disabled */
 | 
					
						
							|  |  |  | #define PROV_FLAG_DIS_THREEWAY	(1 << 7)	/* Three-way calling, transfer disabled */
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
											
												After some study, thought, comparing, etc. I've backed out the previous universal mod to make ast_flags a 64 bit thing. Instead, I added a 64-bit version of ast_flags (ast_flags64), and 64-bit versions of the test-flag, set-flag, etc. macros, and an app_parse_options64 routine, and I use these in app_dial alone, to eliminate the 30-option limit it had grown to meet. There is room now for 32 more options and flags. I was heavily tempted to implement some of the other ideas that were presented, but this solution does not intro any new versions of dial, doesn't have a different API, has a minimal/zero impact on code outside of dial, and doesn't seriously (I hope) affect the code structure of dial. It's the best I can think of right now. My goal was NOT to rewrite dial. I leave that to a future, coordinated effort.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@75983 65c4cc65-6c06-0410-ace0-fbb531ad65f3
											
										 
											2007-07-19 23:24:27 +00:00
										 |  |  | char *iax_provflags2str(char *buf, int buflen, unsigned int flags); | 
					
						
							| 
									
										
										
										
											2007-08-16 21:09:46 +00:00
										 |  |  | int iax_provision_reload(int reload); | 
					
						
							| 
									
										
										
										
											2006-03-31 10:11:10 +00:00
										 |  |  | int iax_provision_unload(void); | 
					
						
							|  |  |  | int iax_provision_build(struct iax_ie_data *provdata, unsigned int *signature, const char *template, int force); | 
					
						
							|  |  |  | int iax_provision_version(unsigned int *signature, const char *template, int force); | 
					
						
							|  |  |  | char *iax_prov_complete_template(const char *line, const char *word, int pos, int state); | 
					
						
							| 
									
										
										
										
											2013-01-29 22:58:33 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | #endif
 |