Trunks are a transmission lines between two systems. This transmission is done using a wide range of PSTN and VOIP technologies. Trunks can be found in: Master Tenant -> Home -> Trunks. This screen lists all system Trunks with the following details:
Here we can see the name of a trunk. It can be a name or an IP address.
Provider template name.
(E.g. SIP TRUNK)
Maximum number of inbound/outbound channels available for the trunk.
E.g. 10/10
Type of a trunk
(E.g. PSTN, VOIP etc.)
Protocol used by the trunk
(E.g. SIP, IAX etc.)
Click this button if you want to edit trunk configuration.
Click this button to delete a trunk from the system
The search bar filters trunks by its name and provider.
Provide a search phrase here and hit enter to filter the records.
When adding a new trunk, the first step requires 'Provider' and 'Device' selection.
TIP: Although a new trunk can be created without it, it is recommended to first create ‘Provider template’ under Settings -> Providers.
Basic info about provider and trunk can be found here: HOWTO Create a Trunk
Select a service provider template.
(Select box)
If the provider requires a device in order to provide the service, this field will become visible.
(E.g. None, T100)
The second step of the trunk installation and trunk edit command, opens the following options:
.
Some providers require this field to be equal to the DID number (e.g.55510205); but if connecting two systems, the IP address may be used as well.
(E.g. 2554433, myvoiceboxlink)
Country where the service provider resides.
(Select USA, for example, if the provider is from the United States)
.
The IP address of a peer host system sends the calls to.
(E.g. 192.168.1.1)
The username for authenticating with the service provider.
(E.g. 2554433)
The peer username for authenticating with the service provider.
(E.g. 2554433)
The Secret/Password used for authenticating with the service provider.
(E.g. 123456)
The peer secret/password used for authenticating with the service provider.
(E.g. 123456)
.
These options are used frequently and are required for normal trunk operation. Some of these fields are pre-configured with the default values. It is not recommended to change them.
The user's relationship to the system
user - The trunk accepts incoming calls only
peer - The trunk makes outgoing calls only
friend - The trunk does both incoming and outgoing calls
DTMF Mode (Dual Tone Multi-Frequency)
Trunk DTMF mode. A specific frequency (consisting of two separate tones) to each key so that it can be easily identified by a microprocessor
Example:
inband - inband audio (requires 64 kbit codec - alaw, ulaw)
rfc2833 - default
info - SIP INFO messages
Auto - Asterisk will use rfc2833 for DTMF relay by default but will switch to inband DTMF tones if the remote side does not indicate support of rfc2833 in SDP
Context
Contexts define a scope within PBXware. The trunk context cannot be modified and is the same as the trunk name or number.
(E.g. 2554433)
Set trunk status on the system. (Active/Not Active/Suspended)
(E.g. Rather than deleting the trunk, you can disable it on the system level by selecting 'Not Active' here)
Timing interval in milliseconds at which a 'ping' is sent to a host in order to find out its status. In PBXware 5.1 'Qualify' is set to 8000 by default.
(E.g. You set this field to 2000, if more time than this is needed to reach the host, the host is considered offline)
National dialing code used at the trunk destination.
(E.g. For the United States it is number 1, for the United Kingdom or Germany it is number 0)
International dialing code used at the trunk destination.
(E.g. For USA 011. For the United Kingdom and Germany 00)
Whether the trunk will support dialing destinations in the E164 format.
(By enabling this option every dialed number will be transformed to this form: COUNTRY_CODE + AREA_CODE + DIALED_NUMBER.
(E.g. If you dial ‘5551020’, the system will dial ‘12125551020’.)
(Option buttons)
Pass the digits dialed without any conversion (E164, National, Area code).
NOTE: When active, 'Leave National Code and 'Local Area Code' will be disabled.
If this option is disabled, PBXware will convert all dialed numbers to E164 format (COUNTRY_CODE + AREA_CODE + DIALED_NUMBER) and then make a call to converted number. If this option is enabled, PBXware will directly call the DIALED_NUMBER without making any number conversions
In some countries, the national code is stripped automatically. If set to 'Yes', the national code will not be stripped from the dialed number.
NOTE: Before setting this option to 'Yes', go to 'Settings: Servers' and enable this option as well.
(E.g. 035123456 will not be striped of 0)
Add the local area code to the dialed number, if required by the service provider. (By default, the local area code is stripped when dialing).
(E.g. The user dials 55510205, the local area code is 212. If the call goes through this trunk, PBXware will dial 21210205)
Set a minimum number of digits dialed for a call to leave the system
The value has to be greater than 0 for this to have an effect. The dialed number minimum length set on a Trunk has priority over the Dialed number minimum length set per Tenant.
The dialed number length will be matched just before dialing through the trunk. The length will also include all the required prefixes and codes that are added to the dialed string.
Ex. If a user dials number 70, the national and international codes will be added to the number and we get 00170. The dialed number length is then 5 and that number will be matched to the option value.
With Yes selected, the Prefix field entry will be applied to emergency calls as well, as by default, this will not be the case. With No or N/A selected, the prefix should not be used for calls to emergency service numbers.
NOTE: Calls to Special Routes numbers set as Emergency will have Prefix applied to them without Set Prefix for Emergency Calls option set to Yes.
Value added to all dialed numbers going over the trunk.
(E.g. Prefix 5 + Dialed number 123 = System dials 5123)
This is the number that the trunk will try to call when Trunk Monitoring is turned on. If the answer is not: ANSWER, BUSY, CANCEL, or NOANSWER, this call is considered non-functional and the monitoring system will send a notification email.
Some trunk providers can send incoming INVITEs with additional headers (X-Mnet-InLeg) containing some custom strings. When a call enters PBXware, and the call flow results in some kind of Call Forwarding back to the provider, they could request the same custom header with the same value so they know which call is in question.
E.g.: System 1 > Trunk > Custom SIP Headers > X-Mnet-Inleg: 1alpha457908
System 2 > Trunk > Check for Additional Headers > X-Mnet-Inleg
System 1 Calls System 2. System 2 should detect the X-Mnet-Inleg header and preserve it.
IMPORTANT: Please note that if a phone transfer is used, the headers CANNOT be preserved. The reason is that after the transfer is initiated, the call is treated as a completely new call and we cannot get the information about preserved headers and their values. If # is used for transfer, everything should be okay.
NOTE: When checking for additional headers, make sure to avoid using all default invite headers.
Here is the list of unsupported headers which should be case insensitive: "via", "from", "to", "cseq", "call-id", "contact", "allow", "user-agent", "accept-language", "supported", "allow-events", "max-forwards", "content-type", "content-length", "p-asserted-identity", "privacy", and "remote-party-id".
E.g.: Trunk > Show Advanced Options > Check for Additional Headers
If one of the aforementioned headers is typed in as shown in the screenshot, the warning message should appear saying that the header is not allowed.
Select which SIP response will be sent to a provider if a DID that was called does not exist on the system
The following options are as follows:
NOTE: Please note that if 'System Default' is chosen, PBXware will behave as if this option was never set. Additionally, the option set on 'Trunk' overrides the option set on 'Master Tenant' if something else but 'System Default' is chosen. In case 'System Default' is set on 'Trunk', the option set on 'Master Tenant' is applied.
.
The IP address that the host trunk is connecting to. Please note that only one IP can be added as a host, you cannot add multiple IPs.
(E.g.:192.168.1.1)
Value assigned to the Digest username = SIP header
(E.g. 2222)
Authenticate for outbound calls to other realms.
(E.g. user:secret@realm)
You may limit SIP traffic to and from this peer to a certain IP or network.
If your trunk provider has multiple IP addresses from which it is
sending traffic, all those IP’s need to be listed here, new line separated.
(E.g. 10.1.1.9)
Typically used to allow incoming calls while having a "friend" type entry defined with a username and password
Example:
Method for registering to the remote server.
(E.g. Providers may require a different form of registration to their server. You may choose between 'registration not required', 'register with phone number', 'register with username', 'register with authname', 'register with authname@host', and 'register with authname@trunk-name').
The service provider may request different registration methods for their services. Select the proper method, as required by the provider.
(E.g. 1234567)
Expiration time for registrations in seconds (default is 3600)
(E.g. 5000)
Maximum number of registration attempts (default is 10)
(E.g. 15)
What to show when calling TO this peer FROM asterisk.
(E.g. 152)
From domain data is required by some providers.
(E.g. If your provider requires this information, provide the exact value here).
If this option is set to 'Yes', "user=phone" is added to uri that contains a valid phone number.
(E.g. Yes, No, N/A)
Send outbound signaling to this proxy, not directly to the peer.
(E.g. outbound.proxy.com)
By selecting Yes for this option, you will ensure “Loose routing” is used with Outbound Proxy, which will add “\;lr” flag after your Outbound Proxy address in SIP INVITE packets.
In case you manually entered this flag in the Outbound proxy field after your proxy address (I.e. your-outbound-proxy.com\;lr ), enabling or disabling Use Loose routing for outbound proxy should not have any effect.
This was implemented to ensure future compatibility and prevent any issues for customers that had this workaround in place to enable Loose routing for outbound proxy, before this feature was available.
(E.g. Yes, No, N/A)
.
These options set important network related values regarding NAT.
Type of transfer protocol that will be used on PBXware.
UDP (User Datagram Protocol) - With UDP, computer applications can send messages, in this case referred to as datagrams, to other hosts on an Internet Protocol (IP) network without prior communications to set up special transmission channels or data paths.
TCP (Transmission Control Protocol) - provides reliable, ordered, error-checked delivery of a stream of octets between programs running on computers connected to an intranet or the public Internet.
TLS (Transport Layer Security) - cryptographic protocol that provide communication security over the Internet.[1] They use asymmetric cryptography for authentication of key exchange, symmetric encryption for confidentiality, and message authentication codes for message integrity.
NOTE: Changing transport to TLS will automatically set Encryption to Required. If you change the Encryption to another value and Save, it will be set back to Required in the background.
This option enables or disables encryption in PBXware transport.
Available options:
Offer encryption only if it is possible and only with TLS protocol
Encryption always required
Always offer encryption with TLS
Should you allow RTP voice traffic (Real-time Transport Protocol - RTP, is a network protocol for delivering audio and video over IP networks) to bypass PBXware.
NOTE: All enhanced services for the extension have to be disabled.
NOTE: Some devices do not support this especially if one of them is behind a NAT.
Here you can enable or disable the new experimental direct RTP setup. Setting this value to yes sets up the call directly with media peer-2-peer without re-invites. Will not work for video and cases where the callee sends RTP payloads and fmtp headers in the 200 OK that does not match the callers INVITE. This will also fail if directmedia is enabled when the device is actually behind NAT.
Options: Yes, No, N/A
The IP address which will be used until the registration.
(E.g. 192.168.1.1)
Define whether PBXware allows the 'Remote-Party-ID' header
Select whether 'Remote-Party-ID' should be added to URI
The options are as follows:
Select whether to send the original Caller ID in RPID
NOTE: When making anonymous calls, FROM and PAI are presented as anonymous, while PAI should also send the original CallerID. Some providers require this setting and would not present anonymous Caller ID otherwise.
Enable or prevent RPID updates to be sent after the call is established
NOTE: This option is particularly useful with some providers. If Use PAI is enabled, calls might start dropping short time after the update is sent. Setting 'Connected Line Updates' to 'No' will prevent these call drops.
In certain cases, the only method by which a connected line change may be immediately transmitted is with a SIP UPDATE request. If communicating with another Asterisk server, and users wish to transmit such UPDATE messages to it, then they must enable this option. Otherwise, we will have to wait until we can send a reinvite to transmit the information.
The P-Asserted-Identity contains the Caller ID information for the call on the INVITE SIP packet. This is the acceptable way of specifying privacy information for calls. This field enables users to send the preferred PAI header by using one fo the following variables:
%CALLERIDNUM%
%TENANT%
%EXT%
%TENANTEXT%
Send P-Charge-Info header (7.3)
Populate this field with the value you would like to send in a P-Charge-Info header.
NOTE: The SIP P-Charge-Info header fulfils the need to pass an additional billing identifier that is used to convey the billing information about the calling party.
.
Users can select one of the privacy options from the drop-down menu:
(E.g. Anonymous with Privacy ID)
NOTE: If nothing is set in this field, the privacy will be set to 'none' by default.
If the Caller ID is not set by the UAD, the value provided here will be used for all outgoing calls.
(E.g. 55599999)
This option defines whether the ES (Enhanced Services) Caller ID will be allowed over this Trunk. Any Extension can set a custom Caller ID for each system Trunk. When this option is set to ‘Yes’, that Caller ID will be used instead of the Trunk outbound Caller ID.
.
Define the number of simultaneous incoming calls that the Trunk can handle
(E.g. Setting this option to 4 means that 4 simultaneous incoming calls are possible. Any additional call will get a busy sound.)
Define the number of simultaneous outgoing calls that the Trunk can handle
(E.g. Setting this option to 4 means that 4 simultaneous outgoing calls are possible. Any additional call attempting to use this Trunk will be rejected or redirected to other Trunks depending on what is set under the system/Extensions.)
Define the ring timeout (in seconds) for outbound calls through the Trunk
(E.g. 50)
Send an e-mail when the outgoing limit is reached
(E.g. Yes/No/Not Set)
Set advanced dial options for all outgoing calls
(E.g. trT)
.
Codecs are used to convert voice signals from analog to digital and vice versa. These options set preferred codecs used by the extension.
Codecs:
TIP: In case some of the desired codecs cannot be selected, go to 'Settings: Tenants: Edit: Default Codecs' and enable them under the 'Remote' group.
Set the Ptime for specific Codec.
(E.g. : 20ms)
Enable or disable SIP video support.
If auto framing is turned on, system will choose packetization level based on remote ends preferences.
(E.g. If the remote end requires RTP packets to be of 30 ms, your PBXware system will automatically send packets of this size if this option is turned on. Default is set to 20 ms and also depends on the codecs minimum frame size like G.729 which has 10 ms as a minimum)
This option is used for providing additional config parameters for SIP, IAX, and MGCP configuration files. The values provided here will be written into these configuration files.
NOTE: Unless absolutely sure, do not change or add to this template.
SIP header is a function of SIP. These headers help convey message attributes to ensure that information packets travel along the correct path when communicating between devices existing on separate networks.
In order to use SIP Custom headers, these are the variables which can be used:
NOTE: Unless absolutely sure, do not change or add to this template.
.
These options can be found when adding a trunk and selecting the device.
NOTE: To see these options user needs to create PSTN Trunk first. To do that PSTN card is needed.
.
Trunk name/number.
(E.g. 032445231)
Which card channels are used, separated by commas.
(E.g. If channel 2 and 4 are used on your card, set '2, 4' here. If all four channels are used set '1-4' here).
Set the status of the trunk.
Signaling protocol for analog circuits that better detects far-end disconnects.
Every PSTN trunk has to belong to a group. Selecting any group will enable the trunk.
NOTE: With most of the cards, this option is auto detected and set. If that is the case with your card - do not change this field.
Enable Echo Canceler.
Select the type of Echo Canceler.
Receive signal decibel.
(E.g. If the incoming sound is low and you cannot hear the other party well, set this option to 2. That should increase incoming sound by 2 decibels).
Transmit signal decibel.
(E.g. If the outgoing sound is low and the other party cannot hear you well, set this option to 2. That should increase outgoing sound by 2 decibels).
.
Destination of the trunk connection.
(E.g. If your system is located in the USA, select USA here)
(Dropdown Menu)
National dialing code used at the trunk destination.
(E.g. For USA it is 1, for the United Kingdom and Germany it is 0.)
The international dialing code at the trunk destination.
(E.g. For the USA 011, for the United Kingdom and Germany 00 etc.)
Whether the trunk will support dialing destinations in the E164 format. By enabling this option every dialed number will be formatted in the following form: COUNTRY_CODE+AREA_CODE+DIALED_NUMBER.
(E.g. If you dial 5551020, the system will dial 12125551020).
.
.
Default language.
(E.g. us)
Contexts define a scope within the PBXware.
Trunk status
Signaling method
This is the number which the trunk will try to call when Trunk Monitoring is turned on. If the answer is not: ANSWER, BUSY, CANCEL, or NOANSWER, this call is considered non-functional and the monitoring system will send a notification email.
(E.g. 1009)
Select which class of music to use for music on hold. If not specified, the 'default' will be used.
Define a voicemail context.
(E.g. 1234, 1234@context)
This option specifies how to choose a channel to use in the specified group.
The four possible options are:
.
RX/TX settings
Set timing parameters
Receive signal decibel.
(E.g. If the outgoing sound is low and the other party cannot hear you well, set this option to 2. That should increase outgoing sound by 2 decibels).
Transmit signal decibel.
(E.g. If the outgoing sound is low and the other party cannot hear you well, set this option to 2. That should increase outgoing sound by 2 decibels).
.
Set switch type
Example:
Set the dial plan used by some switches
Example:
Set the numbering dial plan for destinations called locally
Example:
Trust provided Caller ID information.
How to report 'busy' and 'congestion' on a PRI
Example:
If required by switch, select the network specific facility
Example:
.
Caller ID set for all outbound calls where the Caller ID is not set or supported by a device.
(E.g. john@domain.com)
This option defines whether the ES (Enhanced Services) Caller ID will be allowed over this trunk. Any extension can set a custom Caller ID for each system trunk. When this option is set to ‘yes’ that Caller ID will be used instead of the trunk outbound Caller ID.
CallerID can be set to 'asreceived' or a specific number if you want to override it.
NOTE: Caller ID can only be transmitted to the public phone network with supported hardware, such as a PRI. It is not possible to set external caller ID on analog lines.
(E.g. 'asreceived', 555648788)
Whether or not to use the caller ID.
Whether or not to hide the outgoing caller ID.
Whether or not to use the caller ID presentation for the outgoing call that the calling switch is sending.
Whether or not to use the caller ID presentation for the outgoing call that the calling switch is sending.
Set the type of caller ID signaling
Example:
What signals the start of the Caller ID
Example:
Whether or not to enable call waiting on FXO lines.
Some countries, like the UK, have different ring tones (ring-ring), which means the Caller ID needs to be set later on, and not just after the first ring, as per the default.
.
Level of enabled echo cancellation.
Mute the channel briefly, for 400ms, at the beginning of the conversation, cancelling the echo. (Use this only if 'Echo Cancel' doesn't work as expected).
Enable echo cancellation when bridged. Generally not necessary, and in fact undesirable, to echo cancel when the circuit path is entirely TDM.
.
Whether or not to enable call waiting on FXO lines.
Support three-way calling. If enabled, the call can be put on hold and one is able to make another call.
Supports call transfer and also enables call parking (overrides the 'canpark' parameter). NOTE: Requires 'Three Way Calling' set to 'Yes'.
Supports call forwarding.
Whether or not to support Call Return '*69'. Dials last caller extension number.
Enables overlap dialing mode (sends overlap digits).
Use pulse dial instead of DTMF. Used by FXO (FXS signalling) devices.
.
Whether or not to do distinctive ring detection on FXO lines.
Enable listening for the beep-beep busy pattern.
How many busy tones to wait before hanging up. Bigger settings lower the probability of random hang ups. 'Busy Detect' has to be enabled.
Easily detect false hangups.
Should the channel be answered immediately or should the simple switch provide dialtone, read digits, etc.
.
Which group is allowed to pick up incoming calls by dialing *8. The default value is empty.
(E.g. 1, 1-4)
Which groups are allowed to pick up calls by dialing *8. The default value is empty.
(E.g. 1, 1-4)
.
Signals the far end that it wants the dial tone by shorting the leads.
Signals the far end that it wants the dial tone by grounding one of the leads.
Signaling protocol for analog circuits that better detects far-end disconnects.
(E.g. Select card channels to be monitored with it. For example '1, 4' or '1-4'. These numbers should match the 'Channel(s)' field).
.
Destination of the trunk connection
(E.g. USA)
The national dialing code at the trunk destination.
(E.g. For the USA the number is 1. For the United Kingdom and Germany 0 etc.)
International dialing code at the trunk destination.
(E.g. For the USA numbers are 011. For the United Kingdom and Germany 00 etc.)
Whether the trunk will support dialing destinations in E164 format.
(E.g. Enabling this option will reformat any dialed number into the following form COUNTRY_CODE+AREA_CODE+DIALED_NUMBER. For example, if you dial 5551020, the system will dial 12125551020).
If this option is enabled, the number which is dialed is passed through trunk without modification.
In some countries, the national code is stripped automatically. If set to 'Yes', the national code will not be stripped from the dialed number.
NOTE: Before you will be able to set this option to 'Yes', you will need to navigate to 'Settings -> Servers' and enable this options.
(E.g.John dials 121255510205. With this option enabled whole number will be seen.)
Add the local area code to the dialed number, if required by the service provider. (By default, the local area code is stripped when dialing)
(E.g. The user dials 55510205, the local area code is 212. If the call goes through this trunk PBXware will dial 21255510205).
Should the National and International prefix be written into the configuration files.
(E.g. Enable this option if required by provider).
Value added to all dialed numbers going over the trunk.
(E.g. If the Prefix is 5, Dialed number is 123 System will dial 5123).
.
Enable remote controlling of the screen phone with softkeys. (Only if you have ADSI compatible CPE equipment).
Configure jitter buffers. Each one is 20ms long.
(E.g. 4)
If you are having trouble with DTMF detection, you can relax the DTMF detection parameters.
Enable fax detection
Example:
.
Number of the span.
(E.g. 1)
How to synchronize the timing devices
Example:
Length of the last leg of the connection and is set to zero if the length is less than 133 feet
Example:
How to communicate with the hardware at the other end of the line
Example:
How to encode the communication with the other end of line hardware.
Example:
Whether the yellow alarm is transmitted when no channels are open.
.
The name of the driver (e.g. eth).
Driver specific address (like a MAC for eth).
Number of channels.
(E.g. 6)
Sets timing priority, like for a normal span. Use '0' in order to not use this as a timing source, or prioritize them as primary, secondary, etc.
(E.g. 0)
.
Channel(s) are signaled using FXO Loopstart protocol.
Channel(s) are signaled using FXO Groundstart protocol.
Channel(s) are signaled using FXO Kewlstart protocol.
For example, every ISDN BRI card has 1 D- (control) channel.
(E.g. 1)
For example, every ISDN BRI card has 2 B- (data) channels.
(E.g. 2)
.
Use this page to assign trunks to tenants. Tenants will be able to use only those trunks which are assigned to them.
The following fields are given:
Provides a list of all tenants that currently exist on the system. Clicking on the tenant name will open a page where you can assign trunks to that tenant.
(E.g. TestTenant)
Provides a list of tenant codes matching the tenant name in the first column.
(E.g. 300)
Displays which trunks are set as Primary/Secondary/Tertiary and which trunks are set as Emergency Primary/Secondary/Tertiary.
(E.g. If there is a number 1 in front of a trunk name, that means this trunk is set as a Primary.
The search bar filters tenants by a tenant name and a tenant code.
Click this button if you would like to edit the trunks configuration for a tenant.
By clicking this button and opening a page, it is possible to assign Trunks/Emergency Trunks to your Tenant or to remove them. Also, it is possible to set Trunks/Emergency Trunks priorities and caller IDs for each trunk.
.
Choose which Trunks from all created trunks will be used on this Tenant for incoming/outgoing calls. Only Trunks chosen here will be available in the fields below.
.
Select Default Primary, Secondary or Tertiary trunk. Only trunks set in the Allowed Trunks field are available for selection.
NOTE: If Primary trunk is fine and working, Tenant won’t be able to use Secondary or Tertiary trunk so make sure you set desired trunk as Primary.
.
In this section, set which trunk will be set as Primary/Secondary or Tertiary Emergency trunk.
Through this trunk, Emergency Service numbers are dialed. Only trunks set in the Allowed Trunks field are available for selection.
.
Here you can set a custom CallerID for each trunk. Only trunks set in the Allowed Trunks field are visible in this section.
Adding a trunk to the Allowed Trunks list will automatically add a caller ID entry in this section. Removing a trunk from the Allowed Trunks list will also remove the caller ID entry for that trunk.