l3dss1.h
上传用户:jlfgdled
上传日期:2013-04-10
资源大小:33168k
文件大小:3k
源码类别:

Linux/Unix编程

开发平台:

Unix_Linux

  1. /* $Id: l3dss1.h,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
  2.  *
  3.  * DSS1 (Euro) D-channel protocol defines
  4.  *
  5.  * This software may be used and distributed according to the terms
  6.  * of the GNU General Public License, incorporated herein by reference.
  7.  *
  8.  */
  9. #ifndef l3dss1_process
  10. #define T302 15000
  11. #define T303 4000
  12. #define T304 30000
  13. #define T305 30000
  14. #define T308 4000
  15. /* for layer 1 certification T309 < layer1 T3 (e.g. 4000) */
  16. /* This makes some tests easier and quicker */
  17. #define T309 40000
  18. #define T310 30000
  19. #define T313 4000
  20. #define T318 4000
  21. #define T319 4000
  22. /*
  23.  * Message-Types
  24.  */
  25. #define MT_ALERTING 0x01
  26. #define MT_CALL_PROCEEDING 0x02
  27. #define MT_CONNECT 0x07
  28. #define MT_CONNECT_ACKNOWLEDGE 0x0f
  29. #define MT_PROGRESS 0x03
  30. #define MT_SETUP 0x05
  31. #define MT_SETUP_ACKNOWLEDGE 0x0d
  32. #define MT_RESUME 0x26
  33. #define MT_RESUME_ACKNOWLEDGE 0x2e
  34. #define MT_RESUME_REJECT 0x22
  35. #define MT_SUSPEND 0x25
  36. #define MT_SUSPEND_ACKNOWLEDGE 0x2d
  37. #define MT_SUSPEND_REJECT 0x21
  38. #define MT_USER_INFORMATION 0x20
  39. #define MT_DISCONNECT 0x45
  40. #define MT_RELEASE 0x4d
  41. #define MT_RELEASE_COMPLETE 0x5a
  42. #define MT_RESTART 0x46
  43. #define MT_RESTART_ACKNOWLEDGE 0x4e
  44. #define MT_SEGMENT 0x60
  45. #define MT_CONGESTION_CONTROL 0x79
  46. #define MT_INFORMATION 0x7b
  47. #define MT_FACILITY 0x62
  48. #define MT_NOTIFY 0x6e
  49. #define MT_STATUS 0x7d
  50. #define MT_STATUS_ENQUIRY 0x75
  51. #define IE_SEGMENT 0x00
  52. #define IE_BEARER 0x04
  53. #define IE_CAUSE 0x08
  54. #define IE_CALL_ID 0x10
  55. #define IE_CALL_STATE 0x14
  56. #define IE_CHANNEL_ID 0x18
  57. #define IE_FACILITY 0x1c
  58. #define IE_PROGRESS 0x1e
  59. #define IE_NET_FAC 0x20
  60. #define IE_NOTIFY 0x27
  61. #define IE_DISPLAY 0x28
  62. #define IE_DATE 0x29
  63. #define IE_KEYPAD 0x2c
  64. #define IE_SIGNAL 0x34
  65. #define IE_INFORATE 0x40
  66. #define IE_E2E_TDELAY 0x42
  67. #define IE_TDELAY_SEL 0x43
  68. #define IE_PACK_BINPARA 0x44
  69. #define IE_PACK_WINSIZE 0x45
  70. #define IE_PACK_SIZE 0x46
  71. #define IE_CUG 0x47
  72. #define IE_REV_CHARGE 0x4a
  73. #define IE_CONNECT_PN 0x4c
  74. #define IE_CONNECT_SUB 0x4d
  75. #define IE_CALLING_PN 0x6c
  76. #define IE_CALLING_SUB 0x6d
  77. #define IE_CALLED_PN 0x70
  78. #define IE_CALLED_SUB 0x71
  79. #define IE_REDIR_NR 0x74
  80. #define IE_TRANS_SEL 0x78
  81. #define IE_RESTART_IND 0x79
  82. #define IE_LLC 0x7c
  83. #define IE_HLC 0x7d
  84. #define IE_USER_USER 0x7e
  85. #define IE_ESCAPE 0x7f
  86. #define IE_SHIFT 0x90
  87. #define IE_MORE_DATA 0xa0
  88. #define IE_COMPLETE 0xa1
  89. #define IE_CONGESTION 0xb0
  90. #define IE_REPEAT 0xd0
  91. #define IE_MANDATORY 0x0100
  92. /* mandatory not in every case */
  93. #define IE_MANDATORY_1 0x0200
  94. #define ERR_IE_COMPREHENSION  1
  95. #define ERR_IE_UNRECOGNIZED -1
  96. #define ERR_IE_LENGTH -2
  97. #define ERR_IE_SEQUENCE -3
  98. #else /* only l3dss1_process */
  99. /* l3dss1 specific data in l3 process */
  100. typedef struct
  101.   { unsigned char invoke_id; /* used invoke id in remote ops, 0 = not active */
  102.     ulong ll_id; /* remebered ll id */
  103.     u_char remote_operation; /* handled remote operation, 0 = not active */ 
  104.     int proc; /* rememered procedure */  
  105.     ulong remote_result; /* result of remote operation for statcallb */
  106.     char uus1_data[35]; /* data send during alerting or disconnect */
  107.   } dss1_proc_priv;
  108. /* l3dss1 specific data in protocol stack */
  109. typedef struct
  110.   { unsigned char last_invoke_id; /* last used value for invoking */
  111.     unsigned char invoke_used[32]; /* 256 bits for 256 values */
  112.   } dss1_stk_priv;        
  113. #endif /* only l3dss1_process */