Overview
HS X.25 is a software library in C (supplied with full source code) which implements ITU-T recommendation X.25 - Interface between Data Terminal Equipment (DTE) and Data Circuit-terminating Equipment (DCE) for terminals operating in the packet mode and connected to public data networks by dedicated circuit and RFC1613 Cisco Systems X.25 over TCP (XOT)
Feature table
|
FEATURE |
DESCRIPTION |
| DCE Operation | Yes |
| DTE Operation | Yes |
| RFC1613 XOT | Yes |
| Maximum Number of VCs | 4095 |
| Facilities Support | Yes |
| Call User Data supported | Yes |
| SVC Support | Yes |
| PVC Support | No |
| X.25 Version | ITU-T (formerly CCITT) 10/96 |
| Outgoing Calls | Yes |
| Incoming Calls | Yes |
| Incoming Call processing | Configurable between: Match on local DTE address or Accept All Calls |
| Packet Format | Basic format, modulo 8 |
| Packet Size | Configurable in range 128,256,512,1024 with 128 default |
| Window Sizes | Configurable from 1 to 7 with default of 2 |
| A Bit | Basic format only (non TOA/NPI) addresses supported |
| Q Bit procedure | Yes |
| M Bit procedure | Yes |
| D Bit procedure | Yes |
| Logical Channel Assignment | Configurable Outgoing and Incoming range |
| Timers and Counters Supported |
T10 T11 T12 T13 T20 T20 Retry T21 T22 T23 T23 Retry |
| Interrupt packets | Yes |
| Trace Function Supported | Yes |
| Flow Control (RNR) | Yes |
| Per VC statistics | Yes |
| Per X.25 Link statistics | Yes |
| XOT outgoing call routing based called NUA | Yes |
How it works
When user application initlialises Hs X.25 library, it provides interface callbacks for the services used by HS X.25 protocol module: timer management, and event callbacks.
The application then calls HsX25 functions to establish virtual circuits, send and receive data, enforce flow control and clear calls.
HS X.25 internally at a lower layer interfaces to HsDL library. HsDL library is Data Link layer abstraction, which includes RFC1613 Cisco mode XOT (X.25 over TCP) sub-module. When HS X.25 is ported into environment with LAPB or LAPD as data link layer, only HsDL module needs to change.
HsDL links directly to HsSock module (also included in this package) - Winsock interface component that provides reliable TCP transport services similar to LAPB / LAPD / HDLC.
HsX25 as provided to customer may be used immediately in X.25 over TCP (Cisco XOT) solution or it may be used with traditional LAPB or LAPD in which case only HsDL will need to be modified.
RFC1613 XOT and Proprietary XOT
HS X.25 Library supports both Cisco RFC1613 mode XOT and Proprietary XOT.
With RFC1613 the data link layer operates both as a server, always listening on port 1998 and a client making a separate TCP connection for each new outgoing call request, thus a total of 4095 TCP sessions can exits to carry 4095 VCs.
With Proprietary XOT mode, a similar framing protocol is used on top of TCP/IP but the usage concept is different. An X.25 Link equal a single TCP session which can be either a TCP client or a TCP server. Remote IP addresses and port numbers and also the listening port numbers are configurable per X.25 link. There is currently a total of 10 X.25 links supported, meaning 10 TCP sessions. Each X.25 link can carry multiple X.25 VCs - up to 4095.
HS X.25 Evaluation Pack includes demo applications which allow testing both of the above XOT modes of operation
API Summary
- HsX25Init
- HsX25Connect
- HsX25Listen
- HsX25Clear
- HsX25Data
- HsX25DataExp
- HsX25ShutDown
- HsX25Rnr
- HsX25DecodePkt
- HsX25GetStats
- HsX25Tick
Roadmap
How do we plan to develop this product further:
- Integrated PAD (Packet Assembler Dis-assembler) with following modes:
- X.28 / X.3
- Transparent mode
- TPAD / Transactional Packet Assembler Dis-assembler (APACS, IBRO)
- PVC support
- LAPB protocol module as an option to operate instead of XOT
- X.25 Call Router module
Release Notes
Version 1.2
- base tested full release
Version 1.2.1
- fixed handle leak in socket layer when closing and de-initialising the library
Version 1.2.2
- changed interface to list library
Version 1.2.3
- fixed issue with X.25 VC not clearing if remote host terminates abruptly.
Version 1.3.0
- SVC / XOT outbound routing table to allow making X.25 calls over XOT (RFC1613) to multiple different IP hosts.
- HsSock - socket interface module re-designed to use windows asynchronous sockets notifications processed in the main application message loop instead of thread based socket polling. As a result improved overall stack reliability and reduced CPU utilization for large number of connections
- Improved operation in Proprietary XOT mode, support for running up to 10 independent X.25 links either TCP servers or clients in any combinations.
- Fixed an issue in Proprietary XOT mode: DIAG packet not recognized as valid packet.
- X.25 Link level statistics.
