2 * IAX Provisioning Protocol
4 * Sub-information elements
6 * Copyright (C) 2003, Digium
8 * Mark Spencer <markster@digium.com>
13 * \brief IAX2 Provisioning protocol
16 #include "iax2-parser.h"
18 #define PROV_IE_USEDHCP 1 /* Presense only */
19 #define PROV_IE_IPADDR 2 /* 32-bit */
20 #define PROV_IE_SUBNET 3 /* 32-bit */
21 #define PROV_IE_GATEWAY 4 /* 32-bit */
22 #define PROV_IE_PORTNO 5 /* 16-bit */
23 #define PROV_IE_USER 6 /* < 20 bytes */
24 #define PROV_IE_PASS 7 /* < 20 bytes */
25 #define PROV_IE_SERVERUSER 8 /* < 20 bytes */
26 #define PROV_IE_SERVERPASS 9 /* < 20 bytes */
27 #define PROV_IE_LANG 10 /* < 10 bytes */
28 #define PROV_IE_TOS 11 /* 8-bits */
29 #define PROV_IE_FLAGS 12 /* 32-bits */
30 #define PROV_IE_FORMAT 13 /* 32-bits */
31 #define PROV_IE_AESKEY 14 /* 128-bits */
32 #define PROV_IE_SERVERIP 15 /* 32-bits */
33 #define PROV_IE_SERVERPORT 16 /* 16-bits */
34 #define PROV_IE_NEWAESKEY 17 /* 128-bits */
35 #define PROV_IE_PROVVER 18 /* 32-bits */
36 #define PROV_IE_ALTSERVER 19 /* 32-bits */
38 #define PROV_FLAG_REGISTER (1 << 0)
39 #define PROV_FLAG_SECURE (1 << 1)
40 #define PROV_FLAG_HEARTBEAT (1 << 2)
41 #define PROV_FLAG_DEBUG (1 << 3)
43 #define PROV_FLAG_DIS_CALLERID (1 << 4) /* Caller-ID Disabled */
44 #define PROV_FLAG_DIS_CALLWAIT (1 << 5) /* Caller-ID / Call Waiting Disable */
45 #define PROV_FLAG_DIS_CIDCW (1 << 6) /* CID/CW Disabled */
46 #define PROV_FLAG_DIS_THREEWAY (1 << 7) /* Three-way calling, transfer disabled */
48 char *iax_provflags2str(char *buf
, int buflen
, unsigned int flags
);
49 int iax_provision_reload(int reload
);
50 int iax_provision_unload(void);
51 int iax_provision_build(struct iax_ie_data
*provdata
, unsigned int *signature
, const char *template, int force
);
52 int iax_provision_version(unsigned int *signature
, const char *template, int force
);
53 char *iax_prov_complete_template(const char *line
, const char *word
, int pos
, int state
);