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
|