For the basics of configuring a connection trunk, refer to this section in Cisco IOS configuration notes.
Cisco IOS 'connection trunks' are a method of building transparent virtual tie-lines between Cisco routers using VoIP. These types of trunked VoIP connections are ideally transparent to the equipment involved, down to the dial-pulse level.
This can be interesting to those in the telephone switch equipment hobby to interconnect with other hobbyists or from one site to another. Historically, this sort of thing would have been done with real circuits, either owned or leased from another entity. However, this practice has always been prohibitively expensive for a hobbyist, and these days we can simulate such arrangements over the internet.
These types of tie-lines may generally be used for FXS<->FXO loop start, FXS<->FXO ground start (currently untested), E&M<->E&M, and even ISDN PRI (using clear-channel codec for the D-channel). For most of these types of connection, the signaling data is transmitted in a side channel in the RTP stream in the form of ABCD signaling bits, just the same as they would be on a T1. For ISDN PRI, the D-channel is carried as an independent stream. They are suitable for trunks from one piece of switching equipment to another, or for 'foreign exchange' or 'off premise' lines from another switching system.
This is not perfect for a number of reasons, some of which I'll outline here:
The table and lists in this section cover scenarios that were tested to check the functionality of 'connection trunk' type tie lines using Cisco hardware. Common problems include non-working dial-pulse signaling and various call-state lockups which may require special user intervention to clear the fault.
Each of these scenarios considers two sides: side A and side B. The two sides simply represent the two groupings of hardware which communicate via and are separated by the VoIP link in the middle.
By convention, for the sake of consistency only, for FXS<->FXO links side A will always be the FXS side and side B will always be the FXO side.We can begin to see patterns in this data which lead us to conclude that specific pieces of hardware may have individual problems.
For a thorough test, calls in each direction must be tested, applicable signaling types must be tested, and various combinations of call sequences must be performed to establish proper behavior regardless of which party originates and which party disconnects first. A list is provided below to detail the tests and verifications that should be performed, where applicable, to establish proper operation with a particular combination of hardware and software.
The following hardware appears to be 100% working as expected at least on one version of IOS.
The following hardware is suspected to have problems which cannot be solved. In some cases, it may be worth trying an older IOS version (e.g. 12.x instead of 15.x) or other router platforms (e.g. 2600/3600 instead of 2800/3800) before ruling them out completely.
The table below covers each individual test case which has been documented thus far. If you have tested a combination not listed in this table, you may contact me with the results of the tests listed above and I can add it to the table.
| A-side | B-side | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| connected device | ISR | IOS version | voice port | signaling | connected device | ISR | IOS version | voice port | signaling | working? | notes |
| Adit 600 + 500 set | 3845 | C3845-ADVENTERPRISEK9_SNA-M IOS 15.1(4)M12a |
VWIC2-2MFT-T1/E1 (T1 mode) |
'fxs-loop-start' | DMS-100 POTS line | 2821 | C2800NM-ADVENTERPRISEK9_IVS-M IOS 15.1(4)M |
VIC2-4FXO | FXO | Yes | May have had some issues with dial pulse, but was unable to reproduce after fixing some T1 issues. Battery drop disconnect supervision working. Battery reversal not tested (and I don't think it's supported on CAS T1 from a Cisco ISR). |
| Fluke butt set | 3845 | C3845-ADVENTERPRISEK9_SNA-M IOS 15.1(4)M12a |
EVM-HD | FXS | DMS-100 POTS line | 2821 | C2800NM-ADVENTERPRISEK9_IVS-M IOS 15.1(4)M |
VIC2-4FXO | FXO | Partial | DTMF works, dial-pulse not working (pulses run together, like the hook state sample rate isn't high enough). Battery drop disconnect supervision working. Battery reversal not tested. |
| telephone | VG224 | vg224-i6s-mz IOS 15.1(4)M10 |
onboard FXS | FXS | RAX (Rural Automatic eXchange, step by step) | 2951 | IOS 15.7(3)M5 | VIC2-4FXO | FXO | No | VG224 port locks up with continuous ring upon disconnect. |
| telephone | 2951 | IOS 15.7(3)M7 | VIC3-4FXS/DID | FXS | RAX (Rural Automatic eXchange, step by step) | 2951 | IOS 15.7(3)M5 | VIC2-4FXO | FXO | Partial | Dial pulse is distorted |
| telephone | 2951 | IOS 15.1(4)M2 | VIC3-4FXS/DID | FXS | RAX (Rural Automatic eXchange, step by step) | 2951 | IOS 15.7(3)M5 | VIC2-4FXO | FXO | Partial | Dial pulse is distorted |
| Meridian 1 Line Side T1 card | 3845 | ??? | VWIC2-2MFT-T1/E1 (T1 mode) |
'fxo-loop-start' | channel bank | 2851? | ??? | VWIC2-2MFT-T1/E1 (T1 mode) |
'fxs-loop-start' | Partial | Dial pulse was not tested. |
| DMS-100 T1 E&M | 2821 | C2800NM-ADVENTERPRISEK9_IVS-M IOS 15.1(4)M |
VWIC2-2MFT-T1/E1 (T1 mode) |
E&M wink start | ITEC EMS-1 | 3845 | IOS 15.1 | VIC3-2E/M | E&M wink start | Yes | The ISR was actually set up for E&M immediate start, but since it acts as signaling pass-through, this shouldn't actually matter? |