dect
/
asterisk
Archived
13
0
Fork 0

Version 0.1.0 from FTP

git-svn-id: http://svn.digium.com/svn/asterisk/trunk@4 f38db490-d61c-443f-a65b-d21fe96a405b
This commit is contained in:
markster 1999-10-18 04:50:40 +00:00
parent ec9eac4236
commit 82f24e1d3b
1 changed files with 105 additions and 0 deletions

105
channels/adtranvofr.h Executable file
View File

@ -0,0 +1,105 @@
/*
* Asterisk -- A telephony toolkit for Linux.
*
* Implementation of Voice over Frame Relay, Adtran Style
*
* Copyright (C) 1999, Adtran Inc. and Linux Support Services, LLC
*
* Mark Spencer <markster@linux-support.net>
*
* This program is free software, distributed under the terms of
* the GNU General Public License
*/
#ifndef _ADTRANVOFR_H
#define _ADTRANVOFR_H
#define VOFR_CONTROL_ADTRAN 0x0
#define VOFR_CONTROL_VOICE 0x1
#define VOFR_CONTROL_RFC1490 0x3
#define VOFR_TYPE_SIGNAL 0x0
#define VOFR_TYPE_VOICE 0x1
#define VOFR_TYPE_ANSWER 0x2
#define VOFR_TYPE_FAX 0x3
#define VOFR_TYPE_DTMF 0x4
#define VOFR_CARD_TYPE_UNSPEC 0x0
#define VOFR_CARD_TYPE_FXS 0x1
#define VOFR_CARD_TYPE_FXO 0x2
#define VOFR_CARD_TYPE_ENM 0x3
#define VOFR_CARD_TYPE_VCOM 0x4
#define VOFR_CARD_TYPE_ASTERISK 0xf
#define VOFR_MODULATION_SINGLE 0x0
#define VOFR_MODULATION_V21 0x1
#define VOFR_MODULATION_V27ter_2 0x2
#define VOFR_MODULATION_V27ter_4 0x3
#define VOFR_MODULATION_V29_7 0x4
#define VOFR_MODULATION_V29_9 0x5
#define VOFR_MODULATION_V33_12 0x6
#define VOFR_MODULATION_V33_14 0x7
#define VOFR_ROUTE_NONE 0x0
#define VOFR_ROUTE_LOCAL 0x1
#define VOFR_ROUTE_VOICE 0x2
#define VOFR_ROUTE_DTE1 0x4
#define VOFR_ROUTE_DTE2 0x8
#define VOFR_ROUTE_DTE 0xC
#define VOFR_MASK_EI 0x80
#define VOFR_MASK_LI 0x40
#define VOFR_MASK_CONTROL 0x3F
#define VOFR_SIGNAL_ON_HOOK 0x00
#define VOFR_SIGNAL_OFF_HOOK 0x01
#define VOFR_SIGNAL_RING 0x40
#define VOFR_SIGNAL_SWITCHED_DIAL 0x08
#define VOFR_SIGNAL_BUSY 0x02
#define VOFR_SIGNAL_TRUNK_BUSY 0x04
#define VOFR_SIGNAL_UNKNOWN 0x10
#define VOFR_SIGNAL_OFFHOOK 0x81
#define VOFR_TRACE_SIGNAL 1 << 0
#define VOFR_TRACE_VOICE 1 << 1
#define VOFR_MAX_PKT_SIZE 1500
/*
* Wire level protocol
*/
struct vofr_hdr {
u_int8_t control; /* Also contains unused EI and LI bits */
#if __BYTE_ORDER == __LITTLE_ENDIAN
u_int8_t dtype:4; /* Data type */
u_int8_t ctag:4; /* Connect tag */
u_int8_t dlcih:4; /* Hi 2 bits of DLCI x-ref */
u_int8_t vflags:4; /* Voice Routing Flags */
u_int8_t dlcil; /* Lo 8 bits of DLCI x-ref */
u_int8_t cid; /* Channel ID */
u_int8_t mod:4; /* Modulation */
u_int8_t remid:4; /* Remote ID */
#elif __BYTE__ORDER == __BIG_ENDIAN
u_int8_t ctag:4; /* Connect tag */
u_int8_t dtype:4; /* Data type */
u_int8_t vflags:4; /* Voice Routing Flags */
u_int8_t dlcih:4; /* Hi 2 bits of DLCI x-ref */
u_int8_t dlcil; /* Lo 8 bits of DLCI x-ref */
u_int8_t cid; /* Channel ID */
u_int8_t remid:4; /* Remote ID or Relay CMD*/
u_int8_t mod:4; /* Modulation */
#else
#error "Please fix <bytesex.h>"
#endif
#ifdef __GNUC__
u_int8_t data[0]; /* Data */
#endif
};
#define VOFR_HDR_SIZE 6
/* Number of milliseconds to fudge -- experimentally derived */
#define VOFR_FUDGE 2
#endif