Trunks

From Kolmisoft Wiki
Jump to navigationJump to search

"Trunk" refers to another server/PBX that can be connected to the MOR system.

When calling such a device, we send the full number that has already been dialed.

For example, when dialing a simple device, we would use:

Dial(SIP/some_device) 

If this device is a Trunk, we use:

Dial(SIP/some_device/${EXTEN}). 

This lets Trunk decide to which device (connected to the Trunk) to route the call.

If you want to make a device Trunk, just mark it as Trunk in the device details: Icon trunk.png No/Yes/Yes with ANI.


Trunk with ANI

It is sometimes necessary not to bill a whole trunk as one client, but to bill separate clients connected to the server/pbx (trunk) separately.
In order to do this, you should mark a device as Trunk with ANI.
Now, when a device connected to the Trunk dials through MOR, MOR checks the calling device's CallerID. If the CallerID is present for some device in the MOR, MOR recognizes this device as a valid device on the MOR and assigns the call to it instead of to Trunk.


IAX2 Trunking Mode

When trunking with IAX2, only the used bandwidth is allocated at all times. IAX trunking allows multiple voice streams to share a single "trunk" to another server, reducing overhead created by IP packets. IAX always sends DTMF outline (RFC2833), eliminating the confusion often found with SIP.

It should be noted that trunking requires both sides to know each other (i.e. they need to be valid peers). If one side has trunk=yes and the other does not cannot validate the peer, you will get one-way audio. The easiest way to make this work is to use a register line to register to the systems you want to trunk with.

You can turn IAX2 Trunking Mode on in device edit window.

Trunk mode.png

NOTE: this functionality often does not work properly and we do not recommend using it.



See also