123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185 |
-
- #ifndef _IAX2_H
- #define _IAX2_H
- #define IAX_PROTO_VERSION 2
- #define IAX_MAX_CALLS 32768
- #define IAX_FLAG_FULL 0x8000
- #define IAX_FLAG_RETRANS 0x8000
- #define IAX_FLAG_SC_LOG 0x80
- #define IAX_MAX_SHIFT 0x1F
- #define IAX_WINDOW 64
- #define IAX_COMMAND_NEW 1
- #define IAX_COMMAND_PING 2
- #define IAX_COMMAND_PONG 3
- #define IAX_COMMAND_ACK 4
- #define IAX_COMMAND_HANGUP 5
- #define IAX_COMMAND_REJECT 6
- #define IAX_COMMAND_ACCEPT 7
- #define IAX_COMMAND_AUTHREQ 8
- #define IAX_COMMAND_AUTHREP 9
- #define IAX_COMMAND_INVAL 10
- #define IAX_COMMAND_LAGRQ 11
- #define IAX_COMMAND_LAGRP 12
- #define IAX_COMMAND_REGREQ 13
- #define IAX_COMMAND_REGAUTH 14
- #define IAX_COMMAND_REGACK 15
- #define IAX_COMMAND_REGREJ 16
- #define IAX_COMMAND_REGREL 17
- #define IAX_COMMAND_VNAK 18
- #define IAX_COMMAND_DPREQ 19
- #define IAX_COMMAND_DPREP 20
- #define IAX_COMMAND_DIAL 21
- #define IAX_COMMAND_TXREQ 22
- #define IAX_COMMAND_TXCNT 23
- #define IAX_COMMAND_TXACC 24
- #define IAX_COMMAND_TXREADY 25
- #define IAX_COMMAND_TXREL 26
- #define IAX_COMMAND_TXREJ 27
- #define IAX_COMMAND_QUELCH 28
- #define IAX_COMMAND_UNQUELCH 29
- #define IAX_COMMAND_POKE 30
- #define IAX_COMMAND_PAGE 31
- #define IAX_COMMAND_MWI 32
- #define IAX_COMMAND_UNSUPPORT 33
- #define IAX_COMMAND_TRANSFER 34
- #define IAX_COMMAND_PROVISION 35
- #define IAX_COMMAND_FWDOWNL 36
- #define IAX_COMMAND_FWDATA 37
- #define IAX_DEFAULT_REG_EXPIRE 60
- #define IAX_LINGER_TIMEOUT 10
- #define IAX_DEFAULT_PORTNO 4569
- #define IAX_IE_CALLED_NUMBER 1
- #define IAX_IE_CALLING_NUMBER 2
- #define IAX_IE_CALLING_ANI 3
- #define IAX_IE_CALLING_NAME 4
- #define IAX_IE_CALLED_CONTEXT 5
- #define IAX_IE_USERNAME 6
- #define IAX_IE_PASSWORD 7
- #define IAX_IE_CAPABILITY 8
- #define IAX_IE_FORMAT 9
- #define IAX_IE_LANGUAGE 10
- #define IAX_IE_VERSION 11
- #define IAX_IE_ADSICPE 12
- #define IAX_IE_DNID 13
- #define IAX_IE_AUTHMETHODS 14
- #define IAX_IE_CHALLENGE 15
- #define IAX_IE_MD5_RESULT 16
- #define IAX_IE_RSA_RESULT 17
- #define IAX_IE_APPARENT_ADDR 18
- #define IAX_IE_REFRESH 19
- #define IAX_IE_DPSTATUS 20
- #define IAX_IE_CALLNO 21
- #define IAX_IE_CAUSE 22
- #define IAX_IE_IAX_UNKNOWN 23
- #define IAX_IE_MSGCOUNT 24
- #define IAX_IE_AUTOANSWER 25
- #define IAX_IE_MUSICONHOLD 26
- #define IAX_IE_TRANSFERID 27
- #define IAX_IE_RDNIS 28
- #define IAX_IE_PROVISIONING 29
- #define IAX_IE_AESPROVISIONING 30
- #define IAX_IE_DATETIME 31
- #define IAX_IE_DEVICETYPE 32
- #define IAX_IE_SERVICEIDENT 33
- #define IAX_IE_FIRMWAREVER 34
- #define IAX_IE_FWBLOCKDESC 35
- #define IAX_IE_FWBLOCKDATA 36
- #define IAX_IE_PROVVER 37
- #define IAX_AUTH_PLAINTEXT (1 << 0)
- #define IAX_AUTH_MD5 (1 << 1)
- #define IAX_AUTH_RSA (1 << 2)
- #define IAX_META_TRUNK 1
- #define IAX_META_VIDEO 2
- #define IAX_DPSTATUS_EXISTS (1 << 0)
- #define IAX_DPSTATUS_CANEXIST (1 << 1)
- #define IAX_DPSTATUS_NONEXISTENT (1 << 2)
- #define IAX_DPSTATUS_IGNOREPAT (1 << 14)
- #define IAX_DPSTATUS_MATCHMORE (1 << 15)
- struct ast_iax2_full_hdr {
- unsigned short scallno;
- unsigned short dcallno;
- unsigned int ts;
- unsigned char oseqno;
- unsigned char iseqno;
- char type;
- unsigned char csub;
- unsigned char iedata[0];
- } __attribute__ ((__packed__));
- struct ast_iax2_mini_hdr {
- unsigned short callno;
- unsigned short ts;
-
-
- unsigned char data[0];
- } __attribute__ ((__packed__));
- struct ast_iax2_meta_hdr {
- unsigned short zeros;
- unsigned char metacmd;
- unsigned char cmddata;
- unsigned char data[0];
- } __attribute__ ((__packed__));
- struct ast_iax2_video_hdr {
- unsigned short zeros;
- unsigned short callno;
- unsigned short ts;
- unsigned char data[0];
- } __attribute__ ((__packed__));
- struct ast_iax2_meta_trunk_hdr {
- unsigned int ts;
- unsigned char data[0];
- } __attribute__ ((__packed__));
- struct ast_iax2_meta_trunk_entry {
- unsigned short callno;
- unsigned short len;
- } __attribute__ ((__packed__));
- #define IAX_FIRMWARE_MAGIC 0x69617879
- struct ast_iax2_firmware_header {
- unsigned int magic;
- unsigned short version;
- unsigned char devname[16];
- unsigned int datalen;
- unsigned char chksum[16];
- unsigned char data[0];
- } __attribute__ ((__packed__));
- #endif
|