4 NOTE: In IceWarp Server, the registrar, proxy and redirect servers are integrated to the software, no further software is required. Legend Icon Warning very important! Note or tip good to know. Note within a table. Figure link click the link to reveal the figure. Click it again to close it. (Works only in the CHM format.) Registered Trademarks iphone, ipad, Mac, OS X are trademarks of Apple Inc., registered in the U.S. and other countries. Microsoft, Windows, Outlook and Windows Phone are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries. Android is a trademark of Google Inc. IceWarp is a registered trademark in the USA and other countries. Page 4

5 About IceWarp Server VoIP service implements SIP. The SIP (Session Initiation Protocol) is designed to allow devices, both software and hardware, to establish a communication session. The VoIP service in IceWarp Server is actually a SIP domain which is to be defined within IceWarp Server as a domain or domain alias. This domain must have a valid DNS "A" record. The four basic components of a SIP session are: SIP User Agents These are the end-user devices. These can be software devices, running on PCs, PDAs, cell phones, etc. or they can be SIP-enabled network devices such as SIP-phones, or even, via SIP gateways, ordinary telephony devices. A SIP call is initiated by a user agent client and responded to by user agent server. SIP Registrar Servers These are databases containing the location of all user agents within a domain. There servers retrieve and send IP addresses and other information at the request of a SIP proxy server. SIP Proxy Server A SIP proxy server accepts session requests from a user agent and queries a SIP registrar for the recipient's address. Then it forwards the session invitation directly to the user agent if it is in the same domain or to another proxy server in the case the user agent is in another domain. SIP Redirect Servers These allow proxy servers to locate other, external proxy servers (rather like a DNS for SIP). The following diagrams and examples should help explain the structure and process of placing a SIP call. 1. User A places a call to User B (User B is in a domain external to User A's domain). This request is picked up by SIP proxy A (arrow 1). 2. SIP proxy A determines that User B is outside its domain so asks a SIP redirect server where "User B of domain B" can be found (arrow 2). 3. SIP redirect server responds with the address for SIP server B (arrow 2). 4. SIP proxy A sends the call request to SIP server B (arrow 3). Page 5

6 5. SIP server B requests the location of User B from SIP registrar B (arrow 4). 6. SIP registrar B responds with User B's location (arrow 4). 7. SIP proxy B contacts User B's device (arrow 5). 8. User B accepts the call. 9. User B's device tells SIP proxy B (arrow 5). 10. SIP proxy B tells SIP proxy A (arrow 3). 11. SIP proxy A tells User A's device (arrow 1). 12. Channel is established (arrow 6). If you have multiple users behind a firewall or router then you will probably need to enable NAT Traversal on the SIP server (see thesip Advanced tab). The following diagram shows a call using NAT traversal and proxy ports. The basic functionality is the same except that all communication outside of the domain is done via a proxy port. One proxy port is opened for each user communicating outside the domain. A SIP gateway is a service provided that allows you to connect to non-sip devices, such as the public telephone network. These services usually have to be paid for. Page 6

7 The initiation of the call is the same up to the point where the SIP gateway is reached. The Big Picture The SIP server allows you to offer a complete voice communication solution to your users. Page 7

8 Reference The VoIP process flow is rather complicated, but from the priority point of view we can simplify it and describe an incoming call in these routing phases: 1. The dial plan is processed first. 2. VoIP trunks next. 3. Location service next (registered VoIP users). 4. Extensions. If you have your extension linked to an account or a list of members and there are no preceding rules for the number, the extension will route the call accordingly. So not only you can define the available extensions and groups in your system, but you can also control to whom they are linked to automatically. General Field Disable anonymous access Check this box if you do not wish to allow anonymous users access to the SIP service. If you select this option you can use the B button to edit a bypass file, allowing IP ranges, users and domains anonymous access. NOTE: Access mode to the service can be set on both domain and user levels. See the appropriate places ([domain] Policies, [user] Policies). Field Local network Local interface host External interface host Here you need to specify all the local IP addresses that this SIP server should be available for. Separate them by semicolons. Specify the local IP address of the SIP server here. Specify the local IP address of any external interface (probably your router or firewall) NOTE: Incorrect routing information is the biggest cause of problems with SIP communications. Make sure you set this up correctly. Page 8

9 Field Max number of simultaneous calls Log user calls to user mailbox Log all calls to file Record all calls to Once the maximum number of simultaneous calls is reached any further attempted calls will be rejected by the service. This can be useful if you want to limit the bandwidth that is used by the SIP server. A typical voice call is around 8kB/s. Check this box to have SIP calls logged to the mailbox of the user who made the call. NOTE: This option must be checked for the REDIAL to work. Check this box and specify a fully qualified path to the file where a log of ALL calls is to be stored. Note that yyyy, mm and dd can be used in the directory name, For example: <InstallDirectory>\SIPyyyymmdd\sip.log Click the "..." button to open a usual browser. Check this box and specify a fully qualified path where ALL calls should be recorded in the MP3 format. Dial Plan The Dial Plan tab is a general call forwarding, dial plan, hunt group, circular hunting, address book, away, etc. place. You can define your own numbers. Regexes can be used. Button Add Edit Copy Delete Arrows Click the button to add a new dial plan rule. The Rule dialog opens. Select a rule from the list and click the button to edit this rule. The Rule dialog opens. Select a rule from the list and click the button. The Rule dialog opens, here you can change some features. Click OK to create a new similar rule. Select a rule and click the button to remove this rule. Select a rule and use the buttons to change a rule position in the list. Page 9

10 NOTE: The order of dial plans in the list is important! If a number of some dial plan is called, dial plans higher in the list are omitted even in the case the used dial plan refers to some of these dial plans. See the Dial Plan Examples section. Export Numbers To CSV Click the button if you want to export descriptions and numbers of all dial plans. A standard Save As dialog lets you to save numbers as a.csv file (the.txt format is also possible). Field Active Number first field Tick the box to activate this rule. (If not ticked, the rule does not apply.) Write some descriptive text. Select from the list: Equals Matches (RegEx) for RegEx use Starts with Ends with Contains Option names are self-explanatory. Number second field Strip number from target Apply only if URI is not a registered This is the number we use to match the rule. This field may contain multiple numbers separated by semicolons (if non-regex only). It may contain a domain. If a domain is not specified any domain will be matched. Can be used with the Starts with, Ends with options. Example: Say, non-local numbers are dialed with 0 (zero) at the beginning. If this box is ticked, Starts with selected and 0 entered into the Number field, this 0 is removed and the correct number is dialed "outside". Tick the box if you want the defined rule to be applied only in the case the called string (within the Number field) is not a local user currently registered in the VoIP service. Page 10

11 local user Time Here, you can set a time interval when the rule is to be active. Click the "..." button to open the Schedule Task dialog. For more information about this dialog, refer to the Shared Topics Schedule chapter Schedule Task section. Type Hunt Groups the default hunt group mode. You can forward the call to many concurrent targets. Target phones will all ring simultaneously. Circular Hunting similar as Hunt Groups but target phones ring via the Round Robin mechanism. Only one target rings at a time and they are changed for each new call. You can also combine Hunt Groups and Circular Hunting if Hunt Groups is defined on the upper level. Set Call Forwarding used for former Special Numbers, target defines what happens. If blank, the forwarding is deleted, if set, the forwarding is created if set to something non existent, an away mode is created. Redial Last Number re-dials the last received or dialed number. The Log user calls to user mailbox option must be active. Call Pickup you can define a rule that allows any member of some group to pickup a call that is not answered by another group member (his/her phone still ringing). The member willing to answer just has to dial a number defined within this rule. Target Forwarding Time Define the list of targets separated by semicolons where to direct the call to. Target can be a system group, VoIP group, system account or another dial plan number. This means you can use as many combinations as you want, forward calls to whole domains, VoIP defined groups and even following dial plan rules. Simply create a rule to forward to number which is defined below. The target will contain the number and following rules will take place. Rules always win above local accounts. This means you can override any account receiving their calls (this is how call forwarding is done on the user level it just creates a new rule for that user). You can use a drop down to select from a list of extensions and groups defined on the Extensions/Groups tab. NOTE: When the * (asterisk) is in the Target field for Call Pickup, all users can use this dialing rule. When the field is empty, the Call Pickup service is just allowed to users within the same VoIP group. Define a time (in seconds) after what a call is redirected to recipients defined in the Forwarded Target field. Forwarding takes place in several cases: Time condition is met. None of the defined recipients is online/registered. In this case, the call is forwarded immediately. All of the defined recipients rejected the call or are busy. Forwarding Target If none of possible recipients defined in the Target field accepts a call (because they are busy, not online, etc.), this call is forwarded to users, groups, etc. defined here. You can use a drop down to select from a list of extensions and groups defined on the Extensions/Groups tab. Page 11

12 Dial Plan Examples Hunt Groups When x is called, user2 and user3 are dialed simultaneously and after 10 seconds (unless one of them answers the call) user4 is dialed. Another example: Page 12

13 When x is dialed, user2 is called and after 5 seconds (unless he/she answers the call) user3 is called and after 5 seconds (unless he/she answers the call) user4 is called. NOTE: The order of dial plans in the list (within the Dial Plan tab) is important! If the dial plan with y is placed above the x one in the dial plan list, users 3 and 4 will not be called. URI Is Not Registered In this case, user4 is both the name of a dial plan and also an existing user account on the server. When user4 is dialed then user2 is called. If you want to prefer the user account before the name of the dial plan, the URI is not registered box must be ticked. In this case, calls are redirected when user4 is not logged on. Page 13

14 Circular Hunting If Forwarding Time is set to 0 and x is dialed, all target users (2, 3 and 4) are ringed simultaneously. If Forwarding Time is set e. g. to 5, user2 is dialed, after 5 seconds user2 and user3 are called simultaneously and after another 5 seconds user2, user3 and user4 are called simultaneously. NOTE: In this case if user3 is inaccessible, the next user in the list (user4 in this case) is called instead. Setting of Call Forwarding When an administrator creates this rule, the regex says that all calls to strings starting with *13 will be forwarded to the given string which follows after *13 (up to So when dials e. g. *1320, IceWarp Server creates the following rule: Page 14

15 It means that all calls to user1 will be forwarded to This can also be seen within user's account settings: To allow users to disable call forwarding, create a rule similar to this one: Leave the Target field blank. Users can disable set call forwarding by dialing *88. Re-dial Last Number This rule allows users to dial the number of the last connection regardless of whether the user initiated, received, rejected or missed this call. Page 15

16 Call Pickup Imagine the situation there is just one employee left in the office and his colleague's phone begins to ring on the other side of the office. The employee does not need to physically go to his colleague's desk and pick up the phone. He/she can simply dial a given number to answer the phone. This group of colleagues has to be entered into the Target field (and before defined within the VoIP Extensions/Queues tab). Page 16

17 Devices This tab allows you to define extensions for devices (phones) that will authenticate to SIP as standalone SIP accounts. Button Add Edit Delete Click the button to add a new extension. The Device dialog is displayed. Select an extension and click the button to edit this extension's entries. Select an extension and click the button to remove this extension. Field Name Login Password User Caller ID Location IP Note Enter a descriptive name (user or device). Enter a login name. Enter a login password. Link a device with a user defined upon the Extensions/Queues tab. Specify what From: header will be used for calls originating from this device (It does not matter what information you set in the phone itself, it will be overwritten by this value.) Enter a device location (optional). The IP can be used as a security feature to limit an authentication of the device just from certain IP addresses (LAN etc.). Enter a note about the device, if desired. Page 17

18 Extensions/Queues This tab allows you to define users and groups that can be linked with SIP devices or other SIP feature (trunks, dial plans, etc.). Button Add Edit Delete Click the button to add a new queue. The User dialog opens. Select a queue and click the button to edit this queue's entries. Select a queue and click the button to remove this queue. Field Number Name Type Location Caller ID Call Forwarding Fill in a single number, interval ( ) or a group of numbers (300;301;302). These numbers are to be unique in the system. Enter a user or group name. Select whether it is a single user or a group. Enter or select a user's . Enter a user's location (optional). Caller ID overrides the device Caller ID and has the same functionality. If any device is linked with the user, the user's Caller ID will be used (if not blank). This field lets you define call forwarding directly on this user level. This can be any number controlled via the Dial Plan or other number or SIP account. Page 18

19 Members Members are used for group users only and can contain other user groups, users, numbers or system groups. Groups must always be in brackets [group]. Trunks Here you can specify trunks (gateways) you wish to route calls to. Trunks are usually an interface to a non-sip communication system, such as public telephony, and you would normally have to pay subscription or usage charges to the gateway provider. Button Add Edit Delete Save Load Use the button to add a new trunk. The SIP Trunk dialog opens see further. Use the button to edit properties of the selected trunk. The SIP Trunk dialog opens see further. Click the button to delete the selected trunk. Click the button to save a list of trunks. A standard file browser dialog opens. Click the button to load a list of trunks. A standard file browser dialog opens. Page 19

20 Field Active Title Domain Proxy Username Password Expiration (Sec) Max. number of simultaneous calls Contact header Check this box to make this trunk active. A descriptive name for the trunk. Specify the domain of the trunk provider. Specify the IP address or hostname of any proxy server IceWarp Server should use to get to this trunk. Specify the username supplied by your trunk provider. Specify the password for the above username. Specify here how often, in seconds, the IceWarp Server should re-register with the gateway. Basically, this tells the trunk that the server is still here and available. Specify here the maximum number of simultaneous calls allowed via this trunk. Can be useful in limiting bandwidth usage. Fill in this field incoming calls from the Skype SipToSis to be properly detected. Contact header is used to register to a SIP gateway (remote SIP server). The remote server contacts us using this Contact header. Some servers do not accept the original format and strictly require the format as follows: It is possible to set this value here. NOTE: It is also possible to define e. g. this: In this case, IceWarp Server will also treat all incoming calls with URIs beginning with Page 20

21 For additional information, refer to the Skype Gateway section. Rewrite From header with Rewrite To header Rewrite Contact header If enabled, the From header of the packets going into the gateway is changed to correspond with the gateway user (given Username is used). Optionally, exact value of the From header can be entered into the text box. The entered value can be in one of the following forms: user or Normally this field should be left un-checked. This is here in case your gateway provider requires it. Tick this box if one of the following applies: The remote gateway can deal only with digits the domain from the Contact header field is rewritten to the appropriate IP address. Your trunk provider requires it. (Deeper understanding of SIP advantageous.) Do not REGISTER this trunk Do not use NAT Traversal for this trunk Tick this box if you want to prevent the trunk from registration. E. g. SipToSis (see the Skype Gateway section) behaves as a SIP client. I. e. it is not possible to register but it is used as a trunk. Use this box to deal wit this situation. Tick this box if you do not want to use NAT Traversal. If you know, that your provider has NAT, you can switch your one off. All will work properly and a stream will not be slower. Another situation when to use this feature is the case you use a local SIP client. There is no need to use NAT. The Outgoing tab allows you to select particular calls to use this trunk, using regex conditions. Field Add, Edit Click the button to add/edit a routing rule and rewrite expressions. The Rule dialog opens. Page 21

22 For details about this dialog, refer to the Dial Plan section. Copy Delete Arrows Restrict to registered users User Select a rule from the list and click the button to copy this rule. The Rule dialog opens here you can change some settings. Useful if you want to create a similar rule. Click the button to delete the selected condition. Use the buttons to move the selected condition up or down in the list. Check this box to restrict the users who can use this gateway to place an outgoing call. This option is recommended as otherwise you would leave your gateway open to anyone who knows of its existence. Use the Add button to open the Select Item dialog, allowing you to add accounts and/or domains to the list. Use this field to select and add users pre-defined within the Extensions/Queues tab. (Click the Add button to add.) The Incoming tab allows you to specify where an incoming call to your number on this trunk is routed. Button Add Use the button to specify which user or users the call should be routed to. 1. If no users are specified, IceWarp Server will do nothing with the call request, not even reject it. 2. If one user is specified, IceWarp Server will attempt to route the call to that user. 3. If multiple users are specified, IceWarp Server will attempt to contact all of those users simultaneously, and will wait until either: A user accepts the call, in which case it is routed to that user. Or all users reject the call or the request times out, in which case IceWarp Server will reject the incoming call. Delete Number Use the button to delete the selected user. Use this field to select and add numbers pre-defined within the Extensions/Queues tab. (Click the Add button to add.) Page 22

23 Skype Gateway This gateway can be used for phone calls from WebClient WebPhone to Skype users. Configuration of this gateway is based on the SipToSis project: It is a Java Skype SIP gateway and is for free. It supports running multiple instances and multiple Skype instances too. A Skype client is required to be installed on the machine. It can be easily integrated via VoIP gateways and users can just use both their soft-phones or hard-phone as usually. How to Set Gateway There is an old free version of SipToSis from December (The new version is paid $2.50.) Closely follow the guidelines how to setup SipToSis in the ATA Setup section. Basically, you just install Skype, extract SipToSis and run it via a batch file on Windows. Then you need to make a few configuration changes: 1. In the siptosis.cfg file: Set the port where SipToSis should be bound. E. g. to port 5080:... host_port= Do not change anything else. 2. In the SkypeOutDialingRules.props file: This file specifies the rules to dial out. You do not need to touch it. It already contains something and there are simple rules you can skip and use our VoIP gateway rules instead. The SipToSis acts as a SIP client which when called will direct a call to the alias of the SIP URI (e. g. 3. In the SkypeToSipAuth.props file: This is a file for specification of incoming Skype calls and how they should be handled. It can be set e. g. to: Which means forward calls to The IP address of (without a port) will contact the local SIP server and the address will be matched to the VoIP Gateway Contact header and will be linked with the Skype gateway setting on your VoIP server. 4. Setting up an IceWarp VoIP Skype gateway: Create a new gateway: Server: :5080 (required) Proxy: User: siptosis Pass: siptosis Outgoing rules: Condition: Rewrite: This means that if a number starts with "1", take everything after than and call via the SipToSis gateway. E. g.: 1echo123 would call echo123 on Skype. 5. Restart SipToSis, start Skype and you can make and receive your first calls. Page 23

24 IVR Interactive Voice Response (IVR) is a technology that allows a computer to interact with humans through the use of voice and DTMF (Dual-Tone Multi-Frequency signaling) keypad inputs. This feature allows you to define automatic directing of callers. They select from offered voice choices and push the appropriate keys. The text to speech section within the VoIP Advanced tab allows IVR to generate audio files from textual data on-the-fly. NOTE: You may face a warning message announcing that JAVA is not installed on your computer. It is needed for this service. In this case, download and install the latest JAVA 6 (or 7) Update from With 32bit IceWarp Server, use 32bit Java, with 64bit IceWarp Server, use 64bit Java. This is needed because Java registers its path only for the application with same "bitness". So, you can manually register path to 32bit Java application for 64bit applications and it will work. NOTE: With 32-bit IceWarp Server, use 32-bit Java, with 64-bit one, use 64-bit Java. This is needed because Java registers its path only for the application with same bitness. Still you can register path to 32-bit Java app for 64-bit applications and it will work, only verify that the path c:\windows\syswow64\ is indeed in the system %path%. When you go download Java 64-bit, click the See all Java downloads at java.com and choose it manually. Or else, if your browser is 32-bit one, it will download the 32-bit version instead. IVR Tab Field Add Delete Click the button to define a new profile. The Profile dialog opens. Fill in the profile Name here. After entering all needed profile information, click the Apply button in the lower right corner. Select a profile and click the button to remove this profile. Page 24

25 Field Active Domain Proxy Username/Password Add Edit Copy Delete Arrows Test Tick the box if you want to have this service active. Fill in the name of domain where the account created for this purpose exists. NOTE: It is also possible to use a user defined under the Devices tab. In this case, it is not necessary (and even possible) to specify this field. Fill in the IP address of the server where SIP (VoIP) service is running. Default value and mostly used one is Fill in the credentials of the auto attendant account. This account can be defined within one of the server domains (only for this reason) or under the Devices tab. NOTE: IVR is another Java service. It needs to connect to the SIP server (just like Echo and Voic ). For this reason there must be an account for IVR and IVR needs to know what account to connect to. This user (his/her number or ) is called. The root rule is executed first, then other rules/actions as defined. Click the button to add a new routing. The Auto Attendant Routing dialog is shown. Select a routing and click the button to edit properties of this routing. The Auto Attendant Routing dialog is shown. See the Type Text to speech field bellow. Select a routing and click the button to open the Auto Attendant Routing dialog. You can add a similar routing using this button. See the Type Text to speech field bellow. Select a routing and click the button to delete it. Select a routing and move it up or down in the list using these buttons. Click the button to have a phone dial pad shown. This is the way how to test defined rules. Page 25

26 TIP: Test starts on the selected row. It is not necessary to go always through all defined rules. Export Graph Click the button to export a graph of your IVR rules. The.gv format is used (supported by Graphviz). Field General ID Fill in a routing name. Fill in a short descriptive text. Rules Add Edit Copy Delete Arrows Click the button to add a new rule. Select a rule record and click the button to enable editing. Select a rule and click the button to copy it. This allows you to add a similar rule. Select a rule and click the button to remove this rule. Select a rule and use arrows to move this rule up/down in the list. Rule Details Fill in a short descriptive text. Page 26

27 Type Select from the list: Default the default/initial set of actions that will be called when new action entered. DTFM actions are based on a DTMF condition. Timeout actions are based on a specified timeout. Type value field Fill in a value: DTFM a choice identifier. E. g. a phone key number. Regex expressions can be used see the example below. Timeout define after how long time is the defined action (Go to section or Transfer call to) performed. Add Edit Copy Delete Arrows OK Click the button to add a new action. The Rule Action dialog opens. Select an action record and click the button to enable editing. Select an action and click the button to copy it. This allows you to add a similar action. Select an action and click the button to remove this action. Select an action and use arrows to move this action up/down in the list. Click the button to add a rule or save its changes. Rule Action Dialog This dialog changes according to the Type option selected: Field Type Select the appropriate action type: Play audio file fill in an audio file address and name to the value field. This file will be played. Go to section select one of defined sections from a list (or write its name). This Page 27

28 section will be performed subsequently. Forward call to fill in or select what number defined within the system is to be called (individual or group one). Record audio file fill in a path where recorded audio files will be saved. Use when you require caller's answers. For a file name you may want to use the %tempfile% variable. This allows you to have unique file names. E. g _1024.mp3. There are two additional options: DTFM used for finishing recording and timeout used for finishing recording. Execute application use the "..." button to select a path to the application that is to be executed. See also the Parameters field. If the application has no output, it is considered as error and operation is retried. If the application output consist of formated XML tag <action> (same syntax as in voic .xml), this action is performed, otherwise nothing special happens and the following actions are evaluated. Copy file use this feature to copy a recorded file to another directory (e. g. for backup reasons). Use the following syntax: [source];[destination] Example: data/%tempname%.wav;data/users/%caller_ %.wav Delete file use to delete a recorded (and backed up) file. Example: data/%tempname%.wav Silence specify how long the silence should be (in seconds). It is useful e.g. when you want to wait between two replays of some audio files (or between another two actions). Text to speech enter some text into the value field. It will be converted into speech. NOTE: To get better idea, see the complex example further. Parameters NOTE: This field is only visible when the Execute application type is selected. Fill in parameters that are to be passed to your application. E. g. the %DTMF $1% variable will pass the actual DTFM key choice. OK Click the button to save this rule action. Text to Speech Engine Change To change a text to speech engine (in Windows), do the following: 1. Run the cmd.exe tool under a local system account. There are several ways how to do it. One of them is to schedule it: Within cmd.exe, use the time command. You will obtain something like this: The current time is: 16:29:06.96 Enter the new time. Select Ctrl + C. Use the at 16:30/interactive cmd.exe command. You will obtain the Added a new job with job ID = 1 message. 2. Within cmd.exe (running under your local system account) run the following command: "C:\WINDOWS\system32\rundll32.exe" C:\WINDOWS\system32\shell32.dll,Control_RunDLL "C:\Program Files\Common Files\Microsoft Shared\Speech\sapi.cpl",Speech 3. The Speech Properties dialog Text to Speech tab opens. Select your desired text to speech engine from the Voice selection list. (Click OK.) Page 28

29 Examples This is a xml code (<install_dir>/config/voic .xml) with the following procedure defined: 1. Play audio 2. Record audio 3. Play recorded audio 4. Copy file 5. Delete file Page 29

30 The following text gives an example of the Execute application type use: DTMF: ^(.*)#$ Path: /bin/ivr.sh Param: %DTMF $1% The rule will take any DTMF sequence ending with #, call the ivr.sh script and pass the DTMF number to it. The script can do anything required validate against a database or whatever else. NOTE: The voc .xml file contains information about Voic , Echo and Attendant. The order is of no importance here. Just account types are to be distinguished. voic .xml File This file includes data as set on both IVR and Services tabs. It is possible to set these data using IceWarp Server GUI or edit this file directly. To be able to do it, you need to know variables, formats, etc.: profile type values: VOIC voic service that sends recorded messages via with embedded MP3 ECHO echo service ala Skype AA auto attendent service % % of the callee taken from To: %alias% alias of the callee %domain% domain of the callee %time <timeformat>% time of voic received using any syntax %callee_ % of the callee taken from To: %callee_alias% alias of the callee %callee_domain% domain of the callee %caller_ % of the caller taken from From: %caller_alias% alias of the caller %caller_domain% domain of the caller %length% call length of recorded message time format: Letter Date or Time Component Presentation Examples G Era designator Text AD y Year Year 1996; 96 M Month in year Month July; Jul; 07 w Week in year Number 27 W Week in month Number 2 D Day in year Number 189 d Day in month Number 10 F Day of week in month Number 2 E Day in week Text Tuesday; Tue a am/pm marker Text PM H Hour in day (0-23) Number 0 k Hour in day (1-24) Number 24 K Hour in am/pm (0-11) Number 0 h Hour in am/pm (1-12) Number 12 m Minute in hour Number 30 s Second in minute Number 55 Page 30

31 S Millisecond Number 978 z Time zone General time zone Pacific Standard Time; PST; GMT-08:00 Z Time zone RFC 822 time zone Example: "EEE, d MMM yyyy HH:mm:ss Z" = Wed, 4 Jul :08: maxcalltime tag values: -1 unlimited 0 call is immediately stopped after playing audio file <seconds> otherwise specifies number of seconds after which call will be stopped playaudiofile and playbyeaudiofile can be specified the settings aread or in each profile <proxy> Tag In the case you do not want to use the default VoIP service port (5060), you can specify different ports for the Voic , Echo and Conference services either in GUI (VoIP Services) or within the voic .xml file (<install_dir>/config/) <proxy> tags for individual accounts/services. The syntax is as usually IP:port. Services To obtain needed credentials, you have two possibilities: Use the Device tab (VoIP) and define the appropriate devices there (e. g. voic and echo). This way they will be able to authenticate and work as SIP clients. Recommended. Create a system account for each, but it is not to handy (smart) to have them in the account list. NOTE: You may face a warning message announcing that JAVA is not installed on your computer. It is needed for this service. In this case, download and install the latest JAVA 6 (or 7) Update from Voic The Voic service is used as an answering machine. It is not used for direct calls but instead you make call forwarding either via the Dial Plan or the <user> VoIP tab Forward calls to option. For example, if a user does not answer within 30 seconds, transfer this call to Voic . It will pick up the call, play an audio message and record a caller's message. The message will be converted to MP3 and sent as an attachment to the original call receiver. It is also recommended to record your own audios and put them in the voip/audio directory. This ensures that they will not be overwritten in contrast the default ones. Page 31

32 Field Active Tick the box if you want to have this feature active. Domain Proxy Username Use data for either devices or accounts you have created for see this chapter introductory text. Password Default audio Custom audio Specify path(s) to default audio file(s) informing about receiver's inaccessibility, asking to leave a message etc. Use semicolons to separate paths. Specify path(s) to custom audio file(s) informing about receiver's inaccessibility, asking to leave a message etc. Use semicolons to separate paths. Use one of these two fields. Field Server From To Subject Attachment Use data for either devices or accounts you have created for. Specify headers and a body of the that will be sent to the original receiver. The % % variable sets the receiver's address into the To: header. Unicode and any customization is possible. Even HTML mails are, if required. (In the settings.xml file.) Body Page 32

33 Echo This service allows users to test the quality of their audio connections. They can call this service directly. Their calls are answered, they can record test messages that are played back afterwards. Field Active Domain Proxy Username Tick the box if you want to have this feature active. Use data for either devices or accounts you have created for see this chapter introductory text. Password Default audio Custom audio Specify path(s) to default audio file(s) asking to leave a test message etc. Use semicolons to separate paths. Specify path(s) to custom audio file(s) asking to leave a test message etc. Use semicolons to separate paths. Use one of these two fields. Conference This powerful tool allows both system and external users to organize and join online conference meetings. Service Pre-requisites The server where you run IceWarp Server has to have Java installed. Before using this service, it is necessary to configure the VoIP service (the General tab), to switch on NAT Traversal and the OnlineConferencing service (System Services) has to be running. Users have to have installed some SIP clients on their computers (or Java, to be able to use WebPhone). About Online conference can be: instant attached to a calendar event (both recurrent and non/recurrent). Conference participants can use: Page 33

34 WebClient Desktop Client Outlook Sync a generic client (i.e. usual Outlook, Thunderbird, EAS device). Each participant can use more than one client i.e. accepts an invitation in one client and then joins the conference from another one. Conference participants can have their accounts: on the same IceWarp Server as organizer on another IceWarp Server on different kind of server (e.g. Exchange). The conference can be: audio and desktop sharing audio only. Participants can join the conference via: WebClient anonymous page normal phone calling a special number software SIP phone calling a SIP number hardware SIP phone. It is possible to launch more conferences concurrently every conference has its own ID. Advanced The Advanced tab allows you to specify how the SIP server will perform NAT translation, and whether the server will use a parent SIP proxy. Page 34

35 Field Use Telephone/E164 Number Mapping (ENUM) Check this box to enable your users to place calls to standard telephone numbers. The ENUM system allows a standard telephone number to be dialed from a SIP client. The SIP server will check for a NAPTR DNS record based on the number dialed (the 164.arpa server is tried out, if record not found, then the e164.org one.) NOTE: The option mentioned above has higher priority than SIP gateways (if used.) Use extended DNS lookup (NAPTR and SRV) Select this option IceWarp Server to check for SRV and NAPTR DNS records to determine the hostname for a SIP server. IceWarp Server checks for a NAPTR DNS record first and, if not found, it will check for an SRV DNS record. Syntax and examples of SRV DNS records: _sip._udp.<domain> IN SRV sip.<host>. _sip._tcp.<domain> IN SRV sip.<host>. _sip._tls.<domain> IN SRV sip.<host>. _sip._udp.icewarpdemo.com IN SRV sip.icewarpdemo.com. _sip._tcp.icewarpdemo.com IN SRV sip.icewarpdemo.com. _sip._tls.icewarpdemo.com IN SRV sip.icewarpdemo.com. For more details, refer to Field Use RTP NAT Traversal proxy and streaming server Tick the box if you want to use NAT Traversal feature. Use API and API console to manage proxy and streaming server settings. (Use the rtp string to filter API variables.) NOTE: NAT Traversal has a limitation of concurrent calls. The c_system_services_sip_rtpmax API variable sets the number of RTP streams. The number of concurrent calls is 1/2 of this value. Remember: The higher number of streams, the higher use of resources. Local RTP port range from Local RTP port range to You need to specify the ports to be used as proxies by the SIP server. You should specify the start of the port range to be used. Specify the last port of the range to be used. NOTE: The port range specified here must be open in your router/firewall setup. Page 35

36 Field Alias Name Enter a call dialer alias. Enter a call dialer name. When initiating a SIP call, a server rings the caller's phone first. This name is shown on the phone display. Field Use parent SIP proxy Parent proxy Contact: registration expiration (Sec) You can have multiple SIP servers with only one server having access to the outside world. In this case, you should specify this external server as the "parent" server. Check this option if you wish to use a parent server, and specify the hostname of the parent in the text box. Specify the IP address or hostname of the parent SIP server. Specify a value here to tell clients that they should re-register with the server at the interval specified. This can be very useful to keep the client/server connection alive. Field Output directory Application (optional) Test TTS engine /Test Specify the directory where the generated audio files are to be saved. Use an absolute path. Absolute path to a text-to-speech application. If not specified, the default Windows text-to-speech API is used. (With its default settings can be changed via Control Panel.) You may want to use another application. In this case you have to be able to "tell" this application from what text file to read input and where to save the output. Fill in this application in this field use with a mask specifying how to call. E. g. d:\icewarp\tsspeech.exe /Wav /Hidden "%s" "%s" The first %s is replaced by a text file containing the text to convert. The second %s contains a path to an output file. Fill in any text and click the Test button to hear the output. NOTE: It does not work for all types of actions. E.g. text to speech does not work in the IVR Test. Page 36

37 Using the Dial via SIP Functionality Both the IceWarp Outlook Sync and IceWarp WebClient have the ability to dial out via SIP clients. In the IceWarp Outlook Sync: Locate and select the contact you wish to call (if the person you wish to call is not in your contacts, skip this step). Select Dial via IceWarp Server from the IceWarp Outlook Sync dropdown menu. Check the correct contact is displayed and click Dial. Your SIP client will start to ring, answer it. After a couple of seconds the other person's SIP client will be contacted and your conversation can start. In IceWarp WebClient: Click Dial on the menu bar. Select the contact you wish to call (or type in the address) and click Dial. Your SIP client will start to ring, answer it. After a couple of seconds the other person's SIP client will be contacted and your conversation can start. NOTE: The call is in no way routed by IceWarp Outlook Sync or IceWarp WebClient, they are just used to initiate the call. The SIP server dials your registered client and once connected routes the call to the destination you specified. This method will work with any SIP client. Page 37

38 Dialling over Third Party SIP Server For this feature description, refer to the IceWarp WebClient Administration Guide Administration Options Dialling over Third Party SIP Server chapter. Page 38

39 Setting up a SIP Client X-Lite There are numerous SIP clients available, both software and hardware ones. This section describes how to set up X-Lite to access your SIP server. X-Lite is available from First run of X-Lite When you first run X-Lite, it will discover that you have no SIP account defined and will show the following message: "No SIP accounts are enabled". The SIP Accounts dialog will we be displayed automatically. If you wish to add your IceWarp Server account to X-Lite, open the SIP Accounts dialog manually: Page 39

40 SIP Accounts Dialog This dialog shows a list of all SIP accounts you have defined. Page 40

41 Click the Add button to define your IceWarp Server account. The Properties... dialog is displayed: Field Display name User name Password Authorization user name Domain Domain Proxy Dialing plan Enter the display name you would like people to see when you are calling them. The user name supplied by your SIP service provider. NOTE: It is necessary to log in using this user name only (not the user's address). In the case of IceWarp Server, use the alias of the appropriate account. NOTE: This applies even if the Users login with their addresses option (Domains & Accounts Policies Login Policy Login Settings) is selected. The password supplied by your SIP service provider. Same as your User name. Enter the domain name of your SIP service supplied by your SIP service provider. Leave as is. Leave as is. Page 41

42 Click OK to return to the SIP Accounts dialog: Click Close to return to X-Lite. X-Lite will now attempt to connect to your SIP service provider and will show the following if successful: Page 42

43 3CX PBX Integration 3CX Phone This new SIP phone supports Android, iphone and Windows. The SIP phone itself is free and supports all the SIP extensions such as TLS, TCP, UDP, and secure RTP, REFER, Replaces, Video, etc. For more information, follow this link: Integration Integration requirements are: WebPhone compatibility Support for local calls to addresses of IceWarp Server accounts Support for incoming calls from 3rd party PBX Support for outgoing calls to 3rd party PBX All external calls to the 3rd party PBX have to be routed to HW phones already linked to that PBX All of the above is possible, you just need to know how. The configuration is really simple. Just create a new SIP gateway to the 3rd party PBX and preferably set it up so authentication is not required (does not really matter though). Now, all you have to do is to specify the outgoing rule: Number:.* Regex: True URI is not registered: True This will make sure that all calls made through IceWarp PBX (probably WebPhone or somebody connected to IceWarp Server making a call) will be routed to the 3rd party PBX if the destination is not a local registered number. If it is a local registered number, the call will be established locally. The rest is up to the 3rd party PBX to support all the calls made by our VoIP. The whole scenario covers all requirements above. You can use WebPhone with the default settings (no special settings for the 3rd party PBX required although possible). Local calls will still work and external calls will work easily from both local and external VoIP. IP Detection Functions SOCKS and VoIP IPs are automatically set and you do not need to set them manually while configuring the server for the first time. This handles 99% of problems in configuring SOCKS and VoIP. In WebPhone (and in refer.dat of the mailbox), you can specify an external SIP server to use for Call Now functionality (internal API SIPReferCall()). Originally, it had to be a SIP address. Now, it is possible to use a URL too. Such as: This way you can use any dialing capabilities not only via SIP but via external http scripts. Page 43

44 Page 44

45 Settings for the Grandstream Hardware SIP Phone The following screenshot shows the settings for the Grandstream hardware SIP phone: The settings you need to change for IceWarp Server are: Proxy the SIP server domain name Display name the name you wish others to see when you are calling them Password the password for your SIP server Auth ID your SIP server user name Page 45

SJ Labs, Inc. 2005 All rights reserved SJphone is a registered trademark. No part of this document may be copied, altered, or transferred to, any other media without written, explicit consent from SJ Labs

Getting Started Getting Started with Time Warner Cable Business Class Voice Manager A Guide for Administrators and Users Table of Contents Table of Contents... 2 How to Use This Guide... 3 Administrators...

Cbeyond Communicator for TotalCloud Phone System for Mobile Cbeyond Communicator for Mobile (ios) extends TotalCloud Phone System (TCPS) calling capabilities to an iphone. Cbeyond Communicator is an intuitive

Kerio Operator Getting Started Guide 2011 Kerio Technologies. All rights reserved. 1 About Kerio Operator Kerio Operator is a PBX software for small and medium business customers. Kerio Operator is based

A Guide to Connecting to FreePBX FreePBX is a basic web Graphical User Interface that manages Asterisk PBX. It includes many features available in other PBX systems such as voice mail, conference calling,

Verizon Collaboration Plug-In for Microsoft Outlook User Guide Version 4.11 Last Updated: July 2011 2011 Verizon. All Rights Reserved. The Verizon and Verizon Business names and logos and all other names,

Getting Started Specifications are subject to change without notice. This documentation refers to: Software version 14.119 or higher for the MDS Amiba Cloud PBX system Software version 20.044 or higher

Verizon Collaboration Plug-In for Microsoft Outlook User Guide Version 4.11 Last Updated: July 2011 2011 Verizon. All Rights Reserved. The Verizon and Verizon Business names and logos and all other names,

MITEL SIPCoE Technical Configuration Notes Configure Inn-Phone SIP Phone for use with MCD SIP CoE NOTICE The information contained in this document is believed to be accurate in all respects but is not

UniCom with Office Communicator and Live Meeting Quick Start Guide Table of Contents Understanding UniCom and Office Communicator... 1 What is UniCom?... 1 What Is Office Communicator?... 1 Who Can Use

Genesys Application Note CounterPath Bria SIP Phones With Genesys SIP Server Version 1.5 The information contained herein is proprietary and confidential and cannot be disclosed or duplicated without the

Toshiba SIP Trunking using Optimum Business SIP Trunk Adaptor and the Toshiba IPedge IP PBX V1.1.3-06 Goal The purpose of this configuration guide is to describe the steps needed to configure the Toshiba

Technical Manual 3CX Phone System for Windows This technical manual is intended for those who wish to troubleshoot issues encountered with implementing 3CX Phone System. It is not intended to replace the

Configuration Information Email Security Gateway Version 7.7 This chapter describes some basic Email Security Gateway configuration settings, some of which can be set in the first-time Configuration Wizard.

61200796L1-29.4E July 2011 Configuration Guide Configuring for the NetVanta 7000 Series This configuration guide describes the configuration and implementation of Session Initiation Protocol (SIP) trunking

Application Note Configuring SSL VPN on the Cisco ISA500 Security Appliance This application note describes how to configure SSL VPN on the Cisco ISA500 security appliance. This document includes these