HowTo
How to Restart NBE Gateway
Using NBE Gateway Manager:
Open your favourite web browser on the system running NBE Gateway
Go to "http://localhost:7783/"
Click on the "Stop Gateway" button...wait for NBE Gateway to stop
Clcik on the "Start Gateway" button....wait for the NBE Gateway to start successfully
Manually Restarting the NBE Gateway Service
Click on "Start -> Control Panel -> Administrative Tools -> Services"
Scroll through the list of sevices and look for the one named "Netborder Express Gateway"
Right click this server and select "restart" or "start" from the pop-up menu.
How to Enable Development Mode Dynamically
Open the NetBorder Express Gateway Web Manager in your web browser
Go the Status and Controls tab, select the Logging tab
Change the Mode property from PRODUCTION to DEVELOPMENT
Click the Apply button to activate development logging (logs by default to GatewayDebug.log in the /logs folder)
Restarting the gateway will revert the logging mode to the default value set in the configuration, the changes made in this panel is not permanent.
All call logs will be saved in NBE_root: /logs/call-logs/ where calls will be organized by date and time (SEND THIS TO SUPPORT!)
Note: Changing Mode from Development back to Production and then reverting it back to Development mode is quick and easy way to reset the GatewayDebug.log file.
Â
Â
How to assign particular channels to particular group
 One "Channel Group" (PSTN Config of GUI) per campaign, assign channels in groups, then specify a channel group to use in routing rules based on the
campaign to use (phone number prefix?)
Â
How To Upgrade Firmware On A200/A10x Cards
Stop the NBE gateway from the web UI at http://localhost:7783/.Â
Once this is complete then go into the Windows Device Manager and right click on the PCI adapter and then select "Properties" from menu as shown belowOnce in the PCI adapter properties then go to the "Driver Mode Selection" tab, then change the driver mode from "Normal-default" to "Firmware Update" as shown below and then click "OK" to apply changes
After you click "OK" then Windows will ask you if you want to restart the device click YES to this window as shown below
After you click "OK" then Windows will ask you if you want to restart the device click YES to this window as shown below
Once in the abstraction driver properties then select the "AFT Firmware Update" tab and then click "Browse" to find the BIN file for the firmware on the C:\ as shown below. Now it is important to put it directly on the C drive as if there is a long path the update application will not work.
After the firmware has been selected click "Start Firmware Update..." and then the window below will appear and just wait for this to finish. Now once the firmware upgrade is complete the window will look like the one below and just hit enter on the key board.
Once this is done then right click on the PCI adapter again as shown in step #1 then go to the "Driver Mode Selection" tab and select the "Normal-default" mode again as shown below.
To check the firmware version go to the "Details" tab and you will see the version after "SUBSYS_" as shown below.
Once the firmware installation is complete you need to remove the device drivers from the system. To do this use the start menu shortcut "Remove Device Drivers" as shown below and then once this is done reboot the server.
After the server is rebooted Windows will ask to install the new hardware it has found; click "Cancel" to all pop-ups asking this. Once the system is fully booted up then use the "Install Device Drivers" shortcut as shown below to install the driver. Once this is done then log into the webUI and start the gateway.
How to dynamically disable/enable channels on the Gateway
Â
It is possible to put specific channels in maintenance mode while the gateway is in operation with the use of the command-line executable named "netborder-oam-cmd.exe" found in the /bin directory of the installation directory.
The following command disables one or many channels.
netborder-oam-cmd.exe localhost:18086 pstn-channel-op oos REGEX |
where "REGEX" is a regular expression matching the name of the channel(s) you want to put out-of-service (oos).Â
When you are ready to put the channels back in service, just re-issue the same command, this time replacing oos by is (in-service)
You can find information about regular expressions here.
There are two types of channel name formats:
One for digital interfaces (A101,102,104 and 108) and one for analog interfaces (A200):Â
Digital channel name format
b1(B1 - A102_digital)di2(B1I2)-c0Â Â
The REGEX to match the channel(s) will have the following format: "bX.*diY.*-cZ"
X is the board numberÂ
Y is the digital interface numberÂ
Z is the channel numberÂ
To take all channels on board 1 down and back up
netborder-oam-cmd localhost:18086 pstn-channel-op oos "b1"
netborder-oam-cmd localhost:18086 pstn-channel-op is "b1" |
Â
To take digital interface 1 on board 1 down and back up
netborder-oam-cmd localhost:18086 pstn-channel-op oos "b1.*di1"rin
netborder-oam-cmd localhost:18086 pstn-channel-op is "b1.*di1" |
Â
To take multiple digital interfaces on board 1 down and back up (interface 1 to 4)
Â
To take a digital channel 1 on board 1 interface 1 down and back up
Â
To take multiple digital channels on board 1 interface 1 down and back up (1 to 9)
Â
Analog channel name format
b1(B1 - A200_analog)ai1(B1I1)-c1Â
b1(B1 - A200_analog)ai2(B1I1)-c1
The REGEX to match the channel(s) will have the following format: bX.*aiYÂ
X is the board numberÂ
Y is the analog interface number or channel.
To take board 1 down and back upÂ
Â
To take analog interface/channel 1 down and back up
Â
To take a group analog interfaces/channels down and back up [1-3]
How to Enable Call Recording
This feature can come in handy when you want to record a few calls for troubleshooting purposes. However, it is very CPU intensive and should not be used as a permanent solution for call recording.
From the WebGUI, click on Configuration -> Advanced
edit netborder.gw.recordCalls.enabled, set it to true
Click on Apply at the bottom of the screen
Restart the NBE Gateway
Call logs are located in \Program Files\Netborder\Express\Gateway/logs/recordings, defined by netborder.gw.recordCalls.directory
Â
Or you can enable call recording by navigating through your file management:
Click on "Start -> All Programs -> Netborder Express Gateway -> Configuration -> Edit Global Configuraiton File"
In the file that is opened search (ctrl+f) for "netborder.gw.recordCalls.enabled=false"...
Set the value to true and save the file
The location of the recordings is defined by the "netborder.gw.recordCalls.directory" property. The default value is logs/recording/
Restart the NBE Gateway...see "How to restart NBE Gateway"
Â
Dynamically Enable/Disable Call recording
It is possible to activate/deactivate the call recording feature while the gateway is in operation with the use of the command-line executable named "netborder-oam-cmd.exe" found in the /bin directory of the installation directory
To turn on recording:
Â
To turn off recording:
Â
How does IP Addressing working in NBE
There are 3 parameters (located in the gw.properties file in the config folder of the installation directory)Â that control the IP Addresses assignment of the gateway:
netborder.net.primaryIPAddress: Used to set the SIP Contact used in the SIP messages
netborder.sip.userAgent.IPAddress: A comma separated list of addresses, ports & transport on which the SIP stack listens for incoming SIP messagesÂ
netborder.media.rtp.IPAddress: The ip address used to send & receive RTP packets, if this value is not set in the properties file, the value from primaryIPAddress is used.
The gateway can only send and receive RTP traffic on one IP address. However, SIP signaling can use multiple IP addresses and ports.
How to enable CDR (Call Detail Records) data to be logged
Add the following line to either the dev-logger.properties or the prod-logger.properties file (whichever one is enabled) to enable Call Details Records information to be logged in the gateway.
log4cplus.logger.netborder.cdr=INFO
 To enable the CDR info to be logged in a unique file for all calls add the following line to your logger.properties file
log4cplus.logger.netborder.cdr=INFO, CDR_LOG_APPENDER
You must also define your CDR_LOG_APPENDER is defined in the logger.properties file
# CDR Logging Appender
log4cplus.appender.CDR_LOG_APPENDER=Â log4cplus::DailyRollingFileAppender
log4cplus.appender.CDR_LOG_APPENDER.File=${netborder.Installation.Directory}/logs/cdr-logging.log
log4cplus.appender.CDR_LOG_APPENDER.ImmediateFlush=true
log4cplus.appender. CDR_LOG_APPENDER.MaxBackupIndex=14
log4cplus.appender. CDR_LOG_APPENDER.Schedule=DAILY
 To enable the CDR info to be logged in a unique file per call, add the following line to your logger.properties file
log4cplus.logger.netborder.cdr=INFO, CALL_LOG_APPENDER
You must also define your CALL_LOG_APPENDER is defined in the logger.properties file
##################################
# Call Logging configuration
##################################
# Call Logging Appender
log4cplus.appender.CALL_LOG_APPENDER.enabled=true
log4cplus.appender.CALL_LOG_APPENDER=log4cplus::NullAppender
log4cplus.appender.CALL_LOG_APPENDER.Directory=${netborder.Installation.Directory}/logs/call-logs
log4cplus.appender.CALL_LOG_APPENDER.ImmediateFlush=true
log4cplus.appender.CALL_LOG_APPENDER.NonBlocking=false
log4cplus.appender.CALL_LOG_APPENDER.layout=log4cplus::PatternLayout
log4cplus.appender.CALL_LOG_APPENDER.layout.ConversionPattern=%D{%Y-%m-%d %H:%M:%S:%%q %%z} [%t] %p - %c : %m%n
# Directory structure with year/month/day/hour for your call logs (default true)
netborder.infra.CallLogger.dateTimeDirectory=true
Â
How to configure Audio Level Control in the Gateway
Level control allows the gateway to adjust (manually or automatically) the volume of the audio sent or received to/from the PSTN interface. The following diagram illustrates the various audio manipulation done by the gateway and where the level control is applied in the process.Â
You can access the Level Control Configuration panel by choosing Configuration - PSTN Config and choosing your Physical Configuration in the right hand panel of the Web UI.
By default the level control is DISABLED.
Automatic Level Control
The automatic level control (ALC) algorithm is designed to adjust the level of the talker to a user-defined target energy level.
The gain applied can be negative or positive, resulting in either amplification or attenuation of the signal, depending on the target level, while the gain is applied on the whole signal (i.e. voice and background noise). Only the energy of the talker is used when deciding to amplify or reduce the signal. For this purpose, a voice activity detector specific to the ALC algorithm (ALC VAD) is used to differentiate between voice and noise signals.
When in automatic mode, the level control is only applied on the FROM_PSTN direction. The "Target Level in dBM0"Â is the parameter used to modify in automatic mode.
A value of 0 amplifies the signal to its maximum value while a value of -40 attenuates the signal to the minimum value. The recommended value is -18 dBM0.
Manual Level ControlÂ
In Manual mode, the level contol can be applied to all directions. The "Gain in dB"Â is the parameter used to modify the level control.
Set to a positive value to increase the voice level. Set to a negative value to decrease the voice level. Set to 0 to keep the voice level unchanged.
How to change the PRI Numbering Plan
 On some rare switches they will require the numbering plan to be set. Below shows you how to set this for the calling and called number and then the possible values for both fields. It would be best to get the telco to tell you exactly how to configure this but if not then you can just simply try all combinations.Â
All changes are performed in \Program Files\Netborder\Express\Gateway\config\routing-rules.xml file in the default_pstn_out rule, or as see in the picture below from the WebGUI. Each time this is set you need to restart NBE gateway.
Â
There are two parameters below to set the number plan type for the "called" number which are below.
pstn.out.phoneNumber.type
pstn.out.phoneNumber.numberingPlan
 Now for the "calling" number there are two other parameters as shown below.Â
pstn.out.ani.type
pstn.out.ani.numberingPlan
The "type" field can be set to one of the following numbers shown in the list below.
Value   Description
0Â Â Â Unknown
1Â Â Â International number
2Â Â Â National number
3Â Â Â Network specific number
4Â Â Â Subscriber number
5Â Â Â Abbreviated number
7Â Â Â Reserved for extension
 The "numberingPlan" field can be set to one of the following numbers shown in the list below.
 0   Unknown
1Â Â Â ISDN/telephony numbering plan (Recommendation E.164 [19])
3Â Â Â Data numbering plan (Recommendation X.121 [21])
4Â Â Â Telex numbering plan (Recommendation F.69 [22])
8Â Â Â National standard numbering plan
9Â Â Â Private numbering plan
15Â Â Â Reserved for extension
Â
Below is a sample of how the rule may look once modified. Note the changes from the default are in orange.
 <rule name="default_pstn_out" outbound_interface="pstn" qvalue="0.001">
   <condition param="transfer" expr="false"/>
   <condition param="sip.in.requestUri.canonical" expr="sip:([\+]?[0-9]+)@"/>
   <out_leg name="" media_type="sendrecv">
     <param name="pstn.out.channelGroup" expr="default"/>
     <param name="pstn.out.cpa.enable" expr="false"/>
     <param name="pstn.out.phoneNumber" expr="%0"/>Â
     <param name="pstn.out.phoneNumber.type" expr="0"/>Â
     <param name="pstn.out.phoneNumber.numberingPlan" expr="1"/>Â
      <param name="pstn.out.phoneNumber.type" expr="1"/>Â
     <param name="pstn.out.phoneNumber.numberingPlan" expr="1"/>Â
     <param name="pstn.out.ani.type" expr="1"/>Â
     <param name="pstn.out.ani.numberingPlan" expr="1"/>           Â
   </out_leg>
</rule>
Â
How to Set NBE For NETWORK mode (providing clock as Telco operation)
Clocking - You can change the clocking in NBE as shown in the picture below.
Signaling - You will need to change to network mode termination as shown in the picture below
Cabling - You will need a cross over cable if you are connecting back to back with NBE or another pbx. For pinouts go toCable Pinouts . Note this is different pinouts then a ethernet cross over cable.
Â
How to record RTP traffic using Wireshark when NBE and PBXnSIP are on the same system
Â
On Linux based systems this is not a problem, simply set Wireshark to listen on the "lo" interface.
On Windows based systems this is a little tricky as Wireshark cannot listen to the 127.0.0.1. Use the following instructions to "bounce the traffic to your default gateway and back so that Wireshark can record the traffic.
NOTE:Â THIS IS ONLY FOR DEBUGGING DO NOT RUN THIS IN A PRODUCTION ENVIRONMENT
Setup NBE to send all traffic to your LAN IP address
Open the NBE Gateway Manager, go to the "Routing Rules" tab under the "Configuration" Tab.
Find the default routing rules block, this block will contain the following line:
 <param name="sip.out.requestUri" expr="sip:%0@127.0.0.1:5060"/>Change the line so that the traffic is sent to the LAN IP address (in my case it was 192.168.1.90):
 <param name="sip.out.requestUri" expr="sip:%0@192.168.1.91:5060"/>Click the "submit changes" button to update the routing rules.
Next open the "gw.properites" configuration file under the "config" folder on the "File Browser" tab of the NBE Gateway Manager
In this file we need to tell NBE to send all RTP traffic to the LAN IP address. Search the file for "netborder.media.rtp.IPAddress"
Uncomment this option and it to your LAN IP adress.
 netborder.media.rtp.IPAddress=192.168.1.91Restart NBE to apply all the changes
-
Setup PBXnSIP to send traffic to the LAN IP address rather then 127.0.0.1
The only part of PBXnSIP that needs to be changed is the "Outbound Proxy" field of the the trunk configuration
Login into the PBXnSIP Domain, go to the "Trunks" tab, and then click on the "edit" icon of your NBE trunk.
Change the "Outbound Proxy" field to your LAN IP address...leave the port the same
Restart PBXnSIP to apply the change
-
Setup the Windows Routing table to forward all messages destined for your LAN address to the default gateway
Start the Windows command prompt by clicking "Start", "Run" and running "cmd"
Now we need to tell the Windows Routing table that all packets destined for your LAN IP address is sent to their destination by way of the default gateway. Run the command:
route add 192.168.1.91 mask 255.255.255.255 192.168.1.1 metric 1Run "exit" to get out of the command prompt
-
Setup Wireshark to limit the capture to only the traffic between NBE and PBXnSIP
Start a new capture in Wireshark with the following capture rule
src 192.168.1.91 && dst 192.168.1.91Reproduce the "failure"
Save the capture as a .pcap file so that it can be opened by other applications (tcpdump, ethereal, etc)Â
Â
How to verify your PRI card is functioning properly, in loop-back mode
 If you suspect connectivity problems with your PRI provider, you can use a T1 cross-over cable with your A102, A104 or A108 board to place calls from one T1 port to another
 Connect port 1 and 2 using a T1 cross-over cable.
In NetBorder Express Gateway, create a new PSTN configuration using the Quick Setup tab
Select the board you want to use for the loopback connection test, and all the default options of the Quick Setup.
Under Configuration->PSTN Config->Physical Configurations->P1-digital_T1, select "Assigned Interfaces" then remove the first interface (B1I1).Save.
Under Configuration->PSTN Config->Physical Configurations select "Add Physical Config" , T1, Add.
Select Configuration->PSTN Config->Physical Configurations->new_digital_T1 _2->Digital T1 Configuration, set Clocking to Network.
Select "Assigned Interfaces", add interface B1I1, Save, then Save in the new_digital_T1 _2 pane.
Under Configuration->PSTN Config->Call Control->ISDN Configurations->FAS1-T1 select "Assigned B Channels". Delete the first row with the channels from B1I1. Save.
Under Configuration->PSTN Config->Call Control->ISDN Configurations select "Add ISDN Config" , FAS, Add.
Select Configuration->PSTN Config->Call Control->ISDN Configurations>new_FAS _2, set Termination to Network. Save.
Select "Assigned B Channels", Add BChannel, Save, then Save in the new_FAS _2 pane.
Start the Gateway. Incoming SIP Calls will be placed on the PRI starting with channel 23 of interface 2 which will be received by the corresponding channel on interface 1.
How to enable D-Channel Pcap recordings
 When troubleshooting PRI/BRI connections is it sometimes useful to have a packet capture from the DChannel. The pcap will show you what is happening on the link at a low level during a call. These steps will enable pcap recording on the DChannel.
From the gateway homepage:
Click configuration
Click PSTN Config
Expand "Physical Configurations"Â
Select your interface
Next to "Record To Pcap File" use the dropdown menu to select "Yes". Note: the field below indicates in which file the pcaps will be saved
Click 'Save'After making your test calls, the pcaps from those calls will be saved in the log (default:Â /logs/dchan-pcap-recording/)
Â
How To Configure Registration and Authentication
This section demonstrates how to register and authenticate with SIP registrar. Once the configuration has been complete you will have to restart NBE.Â
Â
RegistrationÂ
Below is all of the registration information for two users on 10.10.2.100 (registrar) that 10.10.2.76 (NBE) will be registering with. The configuration file to edit is config/sip-client-registration.xml; below is a complete example of the information below placed into the this file successfully. Â Keep in mind this will only register, so this will not authenticate. See the second section for the authentication (eg password for user) which is typically required for registration.Â
Â
NBEIP:Â 10.10.2.76
NBEPort:Â 5066
Register:Â 10.10.2.100
User1:Â sangoma1
User2:Â sangoma2
Â
<?xml version="1.0"?> <client_registration_config> <!-- Registration entry #1 --> <!-- Registration entry #2 --> <!-- Registrar --> <expiration_sec>3600</expiration_sec> </client_registration_config> |
Â
Authentication
Below is how the authentication password is set per user defined in registration above. This is all done with the line "netborder.sip.digestCredentials" in config/gw.properties.Â
User1:Â sangoma1
Password1:Â verysecure1
User2:Â sangoma2
Password2:Â verysecure2Â
 config/gw.properties