Merged revisions 136062 via svnmerge from
[asterisk/asterisk.git] / channels / iax2-provision.h
1 /*
2  * IAX Provisioning Protocol
3  *
4  * Sub-information elements
5  *
6  * Copyright (C) 2003, Digium
7  *
8  * Mark Spencer <markster@digium.com>
9  *
10  */
11
12 /*! \file
13  *  \brief IAX2 Provisioning protocol
14  */
15
16 #include "iax2-parser.h"
17
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 */
37
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)
42
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 */
47
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);