
Modification of jswitch.properties configuration file
After arresting the service (Dexgate), open with any text editor the file jswitch.properties in the folder:
<Path d'installazione del DexgateMicro>\prop
and search inside it the block regarding Messagenet provider.
Remove comments from lines inside this block (by removing # character before any line) as shown below:
## Trunk Provider Messagenet #channels.phone.jswitch.trunks.trunk-MESSAGENET.classname=it.tradesoft.tegate.channels.CorbaChannel.jswitch.trunks.sip.SipTrunk #channels.phone.jswitch.trunks.trunk-MESSAGENET.port=4002 #channels.phone.jswitch.trunks.trunk-MESSAGENET.public.address=**** #channels.phone.jswitch.trunks.trunk-MESSAGENET.stun.enable=yes #channels.phone.jswitch.trunks.trunk-MESSAGENET.stun.ttl=20 #channels.phone.jswitch.trunks.trunk-MESSAGENET.stun.address=stun.fwdnet.net #channels.phone.jswitch.trunks.trunk-MESSAGENET.stun.port=3478 #channels.phone.jswitch.trunks.trunk-MESSAGENET.stun.backup.address=**** #channels.phone.jswitch.trunks.trunk-MESSAGENET.stun.backup.port=3478 #channels.phone.jswitch.trunks.trunk-MESSAGENET.stun.backup2.address=**** #channels.phone.jswitch.trunks.trunk-MESSAGENET.stun.backup2.port=3478 #channels.phone.jswitch.trunks.trunk-MESSAGENET.stun.address.detector.enable=yes #channels.phone.jswitch.trunks.trunk-MESSAGENET.stun.address.detector.port=4101 #channels.phone.jswitch.trunks.trunk-MESSAGENET.stun.address.detector.ttl=20 #channels.phone.jswitch.trunks.trunk-MESSAGENET.registrar.enable=yes #channels.phone.jswitch.trunks.trunk-MESSAGENET.registrar.domain=sip.messagenet.it #channels.phone.jswitch.trunks.trunk-MESSAGENET.registrar.name=**** #channels.phone.jswitch.trunks.trunk-MESSAGENET.registrar.password=**** #channels.phone.jswitch.trunks.trunk-MESSAGENET.registrar.address=sip.messagenet.it #channels.phone.jswitch.trunks.trunk-MESSAGENET.registrar.port=5061 #channels.phone.jswitch.trunks.trunk-MESSAGENET.registrar.refresh=170 #channels.phone.jswitch.trunks.trunk-MESSAGENET.checkbusytable=no #channels.phone.jswitch.trunks.trunk-MESSAGENET.limbo.enable=no #channels.phone.jswitch.trunks.trunk-MESSAGENET.video.enable=no #channels.phone.jswitch.trunks.trunk-MESSAGENET.codecs.0.classname=it.tradesoft.tegate.rtp.codecs.gsm #channels.phone.jswitch.trunks.trunk-MESSAGENET.codecs.1.classname=it.tradesoft.tegate.rtp.codecs.alaw #channels.phone.jswitch.trunks.trunk-MESSAGENET.callernumber.default=**** #channels.phone.jswitch.trunks.trunk-MESSAGENET.sessionprogress.ignoring=yes #channels.phone.jswitch.trunks.trunk-MESSAGENET.sessionprogress.connect=yes #channels.phone.jswitch.trunks.trunk-MESSAGENET.response4xx.action=REMOTE_BUSY #channels.phone.jswitch.trunks.trunk-MESSAGENET.max.resources.enable=no #channels.phone.jswitch.trunks.trunk-MESSAGENET.max.resources.number=***** #channels.phone.jswitch.trunks.trunk-MESSAGENET.rtp.port.enable=yes #channels.phone.jswitch.trunks.trunk-MESSAGENET.rtp.port.min=***** #channels.phone.jswitch.trunks.trunk-MESSAGENET.rtp.port.max=*****
Now, let's suppose that we have received from Messagenet the following account:
- Geographical phone number: 02999888777
- URI (SIP client identification): 5353535
- Messagenet server IP address: sip.messagenet.it
- Password: 123pass456
We will have to modify the following lines inside the block:
- registrar.name parameter, that will be set up with the SIP client identification that Messagenet has assigned us (in this case 5353535)
- registrar.password parameter, that will be set up with the password of the account that Messagenet has assigned us (in this case 123pass456)
- callernumber.default parameter, that must be set up the same way as the client identification (in this case 5353535)
- optionally, stun.backup.address and stun.backup2.address parameters, that will be set up with email addresses of possible backup stun servers. If you don't want to assign values to these fields, leave comments for the corresponding line and for the one of the respective port parameter: stun.backup.port e stun.backup2.port.
Leave comments for the following properties, as their use is optional and they sometimes enter in conflict with other ones:
- Public address: it is used when there is a static ip and the router is not port forwarding; if the ip is set to static, there is no need to ask the stun server, so the properties of the stun server must be commented
#channels.phone.jswitch.trunks.trunk-MESSAGENET.public.address=*** - Maximum numbers of resources on the trunk: if the provider allows to receive more than one call at the same time on one account, max.resouces can be enabled, in order to limit the number of contemporaneous calls per trunk for the specified value.
To enable it, remove comments of the two lines of max.resources, enabling and entering the maximum number of resources as in example 2. The configuration file will appear as follows:
channels.phone.jswitch.trunks.trunk-MESSAGENET.max.resources.enable=yes
channels.phone.jswitch.trunks.trunk-MESSAGENET.max.resources.number=2 - Range of ports used by the trunk: you must know them if you want to open ports on the corporate firewall. If there is no problem, leave comments for properties
channels.phone.jswitch.trunks.trunk-MESSAGENET.rtp.port.enable=yes channels.phone.jswitch.trunks.trunk-MESSAGENET.rtp.port.min=***** channels.phone.jswitch.trunks.trunk-MESSAGENET.rtp.port.max=*****
otherwise, just comment these lines and set the proper port range indicating the minimum and the maximum value. The relative ports and the one which the trunk has been set to listen (in the example, port 4002) must be opened on the firewall and internally routed to Dexgate
In the example, we will use:
- the stunk server and not the public address
- a maximum number of calls equal to 2
- a port range between 10010 and 10019 (WARNING: for every contemporeanuous call 3 rtp ports are used, so the ports range must be at least three times wider than the number of contemporaneous calls you want to make on the trunk)
The block must be then set up as follows:
## Trunk Provider Messagenet channels.phone.jswitch.trunks.trunk-MESSAGENET.classname=it.tradesoft.tegate.channels.CorbaChannel.jswitch.trunks.sip.SipTrunk channels.phone.jswitch.trunks.trunk-MESSAGENET.port=4002 #channels.phone.jswitch.trunks.trunk-MESSAGENET.public.address=**** channels.phone.jswitch.trunks.trunk-MESSAGENET.stun.enable=yes channels.phone.jswitch.trunks.trunk-MESSAGENET.stun.ttl=20 channels.phone.jswitch.trunks.trunk-MESSAGENET.stun.address=stun.fwdnet.net channels.phone.jswitch.trunks.trunk-MESSAGENET.stun.port=3478 channels.phone.jswitch.trunks.trunk-MESSAGENET.stun.backup.address=stun.voxgratia.org channels.phone.jswitch.trunks.trunk-MESSAGENET.stun.backup.port=3478 #channels.phone.jswitch.trunks.trunk-MESSAGENET.stun.backup2.address=**** #channels.phone.jswitch.trunks.trunk-MESSAGENET.stun.backup2.port=3478 channels.phone.jswitch.trunks.trunk-MESSAGENET.stun.address.detector.enable=yes channels.phone.jswitch.trunks.trunk-MESSAGENET.stun.address.detector.port=4101 channels.phone.jswitch.trunks.trunk-MESSAGENET.stun.address.detector.ttl=20 channels.phone.jswitch.trunks.trunk-MESSAGENET.registrar.enable=yes channels.phone.jswitch.trunks.trunk-MESSAGENET.registrar.domain=sip.messagenet.it channels.phone.jswitch.trunks.trunk-MESSAGENET.registrar.name=5353535 channels.phone.jswitch.trunks.trunk-MESSAGENET.registrar.password=123pass456 channels.phone.jswitch.trunks.trunk-MESSAGENET.registrar.address=sip.messagenet.it channels.phone.jswitch.trunks.trunk-MESSAGENET.registrar.port=5061 channels.phone.jswitch.trunks.trunk-MESSAGENET.registrar.refresh=170 channels.phone.jswitch.trunks.trunk-MESSAGENET.checkbusytable=no channels.phone.jswitch.trunks.trunk-MESSAGENET.limbo.enable=no channels.phone.jswitch.trunks.trunk-MESSAGENET.video.enable=no channels.phone.jswitch.trunks.trunk-MESSAGENET.codecs.0.classname=it.tradesoft.tegate.rtp.codecs.gsm channels.phone.jswitch.trunks.trunk-MESSAGENET.codecs.1.classname=it.tradesoft.tegate.rtp.codecs.alaw channels.phone.jswitch.trunks.trunk-MESSAGENET.callernumber.default=5353535 channels.phone.jswitch.trunks.trunk-MESSAGENET.sessionprogress.ignoring=yes channels.phone.jswitch.trunks.trunk-MESSAGENET.sessionprogress.connect=yes channels.phone.jswitch.trunks.trunk-MESSAGENET.response4xx.action=REMOTE_BUSY channels.phone.jswitch.trunks.trunk-MESSAGENET.max.resources.enable=yes channels.phone.jswitch.trunks.trunk-MESSAGENET.max.resources.number=2 channels.phone.jswitch.trunks.trunk-MESSAGENET.rtp.port.enable=yes channels.phone.jswitch.trunks.trunk-MESSAGENET.rtp.port.min=10010 channels.phone.jswitch.trunks.trunk-MESSAGENET.rtp.port.max=10019
Pay attention that file jswitch.properties contains no other trunks listening on the same port (indicated by port parameter) of MESSAGENET trunk you have just set and that the port range reserved to a trunk does not overlap other trunks ranges. Change the port number if this is being already used by any other trunk.
Now save the changes and restart the service.
Messagenet trunk status test
Once you have restarted the service, log into DexGateMicro as administrator and click on the link "Trunk Status" in "Numbers Management". If the configuration file contains no errors and the provider has accepted your registration, the following information will be displayed:
Please note that the messagenet trunk line indicates that you are registered.
Outgoing call rules set up
Let's now consider how to create a rule to call the trunk we have just created.
From "Numbers Management" let's click on "Outgoing calls rules", then on link "Add outgoing line": a table with the prefix used to call on different trunks will appear.
Clicking on "Add outgoing calls rule" you can add a new prefix for Messagenet trunk.
If you want to go out with Messagenet using prefix 0, you shall enter data in the form as follows:
Click on "Run"
Once you are in the following page, you can associate the previously indicated prefix with an outgoing trunk. For messagenet set up the rule as shown in the picture:
Creating a rule for external number diversion
Now let's suppose we want to divert every incoming call on Messagenet trunk (and thus directed to our geographical number 02999888777) to a specified internal number, or IVR or group number, and let's say that the number is 100.
In "Number management" click on link "List of external diverted numbers", then on "Divert external number" and create a new diversion as follows:
Click on 'Run' to save settings.
Now you are ready to use your Messagenet Account with DexGateMicro.
You can use your Messagenet account from any SIP terminal registered in the internal "tegate" trunk of DexGateMicro, using prefix '0' before the number you want to call (or prefix '9' if you have followed the advanced configuration). At the same time, you can divert every call for our geographical number 02999888777 to a terminal, a group number or a IVR of your choice.



