Mizu Softswitch Administrator’s Guide

VoIP Server documentation

 

Mizu Server is a software soft switch solution running on Microsoft Windows platforms that can replace traditional hardware based PBX and ISDN solutions.

 

2010

-

Mizutech

2/11/2010

 


 

 


This document provides an overall technical description of Mizu VoIP platform. For  non technical user guides please check out our website. Your installation may not include all modules described in this document and you will notice small changes if you program version doesn’t conform with the documented version!

 

 

1. Introduction. 11

1.1. Short description. 11

1.2. Features. 12

1.2.1. Hosting. 13

1.2.2. SIP. 13

1.2.3. Codecs. 15

1.2.4. IP Centrex. 16

1.2.5. Call Center 17

1.2.6. Accounting. 17

1.2.7. Routing. 18

1.2.8. Billing. 19

1.2.9. Calling Card. 20

1.2.10. H323. 20

1.2.11. VoIP-GSM.. 21

1.2.12. Management 23

1.2.13. Limitations. 25

1.2.14. Known issues. 25

1.3. Contact and tech support 25

2. Modules. 25

2.1.1. SIP Stack. 26

2.1.2. H323 Stack. 26

2.1.3. SIP-H323 converter 26

2.1.4. Media Server 26

2.1.5. Routing. 26

2.1.6. Billing. 26

2.1.7. Alerting and Daily report 26

2.1.8. Virtual Servers. 26

2.1.9. Call Center 27

2.1.10. Watchdog service. 27

2.1.11. HTTP service. 27

2.1.12. Direct command interface. 27

2.1.13. Enduser web portal 27

2.1.14. Selfcheck and reporting. 27

2.1.15. VoIP-GSM Gateway. 27

2.1.16. Other components. 28

3. Maintenance Tasks. 30

3.1. Server configuration checklist 30

3.2. Gateway quick setup. 30

3.3. Daily Maintenance. 32

3.4. Monthly Maintenance. 32

3.5. Server backup, recovery and maintenance. 33

3.5.1. Database backup. 33

3.5.2. Using Backup database tables. 33

3.5.3. Database maintanance. 34

3.5.4. Saving recorded voice. 34

3.5.5. Alternative backup deletion. 35

3.5.6. Disaster recovery. 35

4. Administration. 36

4.1. MManage. 36

4.1.1. Overview.. 36

4.1.2. MManage Installation. 36

4.1.3. MManage Framework. 37

4.1.4. Import-Export Wizard. 40

4.2. Monitoring. 40

4.2.1. Current Calls. 41

4.2.2. GSM Channels. 42

4.2.3. Basic Statistics. 47

4.2.4. Advanced Statistics. 49

4.2.5. Disc. Reasons. 51

4.2.6. Line Monitor 52

4.2.7. Capacity Check. 52

4.2.8. System Load. 52

4.2.9. Server Console. 52

4.2.10. Server Monitor 53

4.2.11. Logs. 53

4.1.12. Analyze. 54

4.1.13. CDR Records. 54

4.3.14. Balance. 56

4.3.15. Callcenter Statistics. 57

4.3. Access. 57

4.3.1. Users. 57

4.3.2. Devices. 69

4.3.3. Groups. 69

4.3.4. User authorization. 70

4.4. Routing. 74

4.4.1. Firewall 74

4.4.2. Dial Plans. 74

4.4.3. Prefix Rules. 76

4.4.4. Blacklisted. 76

4.4.5. Access Lists. 77

4.4.6. Routing. 77

4.4.7. Routing workflow.. 80

4.4.8. RADIUS. 84

4.4.9. BRS. 84

4.4.10. Failovering. 86

4.4.11. SIM Channel reservation by caller protocol 87

4.4.12. Number portability database. 88

4.5. Billing. 89

4.5.1. Price Settings. 89

4.5.2. Price List 93

4.5.3. Billing. 93

4.5.4. Currency Conversion. 96

4.5.5. Finances. 97

4.5.6. Pin codes. 97

4.5.7. The billing process. 97

4.5.8. Invoice and payment storage. 99

4.5.9. Enviroment variables. 101

4.5.10. Payments. 101

4.5.11. Notes. 105

4.6. GSM/SIM Platform.. 106

4.6.1. SIM Packets. 106

4.6.2. Gateways. 108

4.6.3. Engines. 108

4.6.4. SIMCards. 108

4.6.5. Credits. 109

4.6.6. SIM Distribution. 109

4.6.7. SIM Utilization. 110

4.6.8. New Simcard. 110

4.6.9. New Charge Card. 110

4.6.10. SIM Bank. 111

4.7. Other -MManage. 112

4.7.1. Configurations. 112

4.7.2. Direct Query. 127

4.7.3. Voice Here. 127

4.7.4. Test Call 128

4.7.5. Rfile system.. 128

4.7.6. Rdesktop. 128

4.7.7. DB Admin. 128

4.7.8. Web Admin. 129

4.7.9. Phone Numbers. 129

4.7.10. To-do. 129

4.7.11. Notes. 129

4.7.12. Holidays. 129

4.7.13. Allocating numbers. 129

4.8. Gateway Configuration. 130

4.8.1. Phone Settings. 130

4.8.2. Gateway Basic Settings. 131

4.8.3. Gateway Advanced Settings. 132

4.8.4. Watchdog settings. 139

4.8.5. Other settings. 139

4.8.6. Handling incoming calls from GSM network. 140

4.8.7. Operator friendly gsm termination. 141

4.8.8. How to setup a gateway behind a NAT*. 143

4.9. Call Center 143

4.9.1. Users. 143

4.9.2. Campaigns. 144

4.9.3. Scripts. 144

4.9.4. GUI Designer 149

4.9.5. Quotas. 151

4.9.6. Presentations. 152

4.9.7. Checklist 152

4.9.8. Clients. 152

4.9.9. Campaign Clients. 154

4.9.10. Campaign and global settings. 155

4.9.11. Predective dialer 157

4.9.12. Outgoing callback. 158

4.9.13. Incoming calls. 159

4.9.14. Keywords. 161

4.10. MAgent 163

4.10.1. Login. 163

4.10.2. Manual Call 165

4.10.3. Calls from database. 165

4.10.4. Automatic calls. 165

4.10.5. Automatic software upgrades. 165

4.11. IPCentrex. 166

4.11.1. Call Rerouting. 166

4.11.2. Ring Groups. 166

4.11.3. Caller ID.. 166

4.11.4. DTMF. 167

4.11.5. Call Hold. 167

4.11.6. Call Forward. 167

4.11.7. Call Transfer 168

4.11.8. Three-Way Calling. 169

4.11.9. Call Waiting and queuing. 169

4.11.10. Call Take-Over 169

4.11.11. Conference Calls. 169

4.11.12. Voice Mail 170

4.11.13. Voice Recording. 170

4.11.14. IVR.. 170

4.11.15. CallBack number 173

4.11.16. CallBack services. 173

4.11.17. Calling Card services. 175

4.11.18. Phone to Phone (P2P) calls. 176

4.11.19. SMS. 176

4.11.20. SMS callback. 177

4.11.20. Web (account access) 179

4.11.21. Virtual Servers. 179

4.12. SIM-Bank. 180

4.12.1. Introduction. 180

4.12.2. Configuration. 180

4.12.3. Technical Details. 182

5. FAQ.. 183

5.1. How to make a H323 call directly to a GW (without the gatekeeper) 183

5.2. Sometimes the voice channel is breaking down. How can I improve the voice quality?. 183

5.3. Using Netmeeting. 183

5.4. How can I make test calls?. 183

5.5. How to check the call quality on a specific channel?. 183

5.6. Typical Cisco Config. 184

5.7. Server Recovery (in a separate app and db server configuration) 184

5.8. No incoming calls (no new calls in current call list in peak time) 184

5.9. Calls in „routing” status. 185

5.10. SIP caller cannot call 185

5.11. SIP called cannot be called. 185

5.12. No call on Gateway. 185

5.13. No call on SIM.. 185

5.14. No voice (caller and called cannot hear each-other) 186

5.15. Too many wrong calls on a simpacket (low ASR/ACL) 186

5.16. Not enough or too many calls on a sim or simpacket 186

5.17. Calls are routed to wrong simcards. 186

5.18. Too low ASR.. 186

5.19. Too low ACL. 186

5.20. SIM cards with low credit 186

5.21. GSM Gateway not working. 187

5.22. GSM Gateway malfunctions. 187

5.23. Wrong disconnect reasons. 187

5.24. MManage cannot connect to the server 188

5.25. Too slow MManage. 188

5.26. Server software problem (service unavailable) 188

5.27. Server OS, Database or Hardware problem (server unavailable) 188

5.28. How to restart  the server service. 188

5.29. How to restart  the server box. 188

5.30. How to restart  a GSM gateway. 189

5.31. How are the incoming calls from the gsm network handled?. 189

5.32. Routing test calls to a dedicated gateway. 189

5.33. How to disable PIN request on GSM gateways. 189

5.34. What are the minimal global settings that must be correct on servers?. 190

5.35. How to add a new traffic sender?. 190

5.36. How to add a new sip enduser?. 190

5.37. How to add a new Mizu VoIP-GSM gateway to the server?. 190

5.38. How to add new simcards (sim packet)?. 190

5.39. How to add a new simcard?. 190

5.40. How to set up basic routing?. 191

5.41. How to set up basic billing?. 191

5.42. Where can I check the logs and traces?. 191

5.43. The conversation volume is too loud. How can I change the volume?. 191

5.44. How to register your Mizu Gateway to a H323 gatekeeper?. 191

5.45. What ports are used in the system?. 191

5.46. My gateway restarts too often. 192

5.47. H323 signaling problems. 192

5.48. How to set up the automatic credit recharge?. 192

5.49. The automatic credit recharge is not working. 192

5.50. How to monitor the credit automation?. 193

5.51. Gateway and channels are inactive. 193

5.52. How calls are processed. 193

5.53. How to set up holiday billing. 194

5.54. How to treat specific weekends as weekdays. 194

5.55. How the different currencies are handled?. 194

5.56. SimChange settings from the command line. 194

5.57. How to reenable blacklisted but good numbers. 195

5.58. How are different currencies handled?. 195

5.59. How is VAT handled?. 195

5.60. How the check your ASR (or ACD, SL, CDRC) for the traffic sender “A” in the last week. 196

5.61. How to add endusers (basic settings) 196

5.62. Basic callcenter tasks. 197

5.63. Abbreviations. 197

5.64. Codecs. 199

5.65. How to reserve GSM capacity for a certain protocoll 199

5.66. PDF creation in MManage. 199

5.67. How to setup a new virtual server instance. 200

5.68. Fax detection. 201

5.68. Handling dynamic & private ip/port 201

5.69. Fax settings. 201

5.70. License limitations. 202

5.71. Redirect or forward sessions to other domains. 203

5.72. Delete old database backup. 204

5.73. Sales commissions. 204

5.74. Multihomed setup. 205

5.75. How to scan your SP for live numbers. 205

5.76. Routing calls from virtual servers. 206

5.77. Routing calls to virtual servers. 206

5.78. How to add plugins in MManage. 206

5.79. Request/response target address. 207

5.80. Server supervisor 208

5.81. Automatic prepaid credit expirity. 209

5.82. Simple prefix rewrite. 209

5.83. Short number and internal billing. 210

5.84. Cropping sound on ring when playing voice (ringtone, announcement or any other promt 210

5.85. How to play user credit in IVR.. 210

5.86. Encryption. 210

5.87. Running Mizu Server in proxy mode. 212

5.88. Mizu Server security. 213

5.89. Ringtone for IVR forwarded calls. 214

5.90.        CLI settings / A and B numbers / Dial plan. 214

5.91. Possibile NATs and firewalls. 216

5.92. How to disable CLI for all outgoing calls. 217

5.93. How to change the database username/password. 217

5.94. Performance optimizations. 218

5.95. How to reset a failowered gateway/direction. 218

5.96. How to remove the 3 digit techprefix system wide setting. 218

5.97. How to enable H.323 modules?. 219

5.98. How to add an SMS provider?. 219

 

 

Version

MizuServer v4.1 Administrator’s Guide

Revisited Febr 4, 2010

You will notice smal changes if you program version doesn’t conform with the documented version!

 

Copyright

Mizu server and other MizuVoIP software is  copyrighted by MizuTech SRL. -Copyright ©2006-2010 MizuTech SRL.

This document may not be copied or readdressed in whole or part without the expressed, written consent from MizuTech SRL.

Disclaimer: MizuTech SRL. reserves the right to change any information found in this document without any written notice to the user.

 

License Agreement

You must accept the license agreement (LicenseAgreement) before you use any Mizu hardware or software component!

 

Trademark Acknowledgement

LINUX is a registered trademark of Linus Torvalds in the United States and other countries.

Windows and Microsoft SQL Server is a trademark of Microsoft Corporation, registered in the United States and other countries. 

Oracle is a registered trademark of Oracle Corporation.

OpenH323 (used in test tools) are licensed under MPL: http://www.mozilla.org/MPL/MPL-1.0.html. Source code is included on the install CD.

Other logos, products, brand names and service names contained in this document are the property of their respective owners (trademarks or registered trademarks of their respective companies)

1. Introduction

 

 

This document describes the administration of Mizu Gateways, SoftSwitches, CallCenters and SimBanks. A unique set of proprietary software and hardware based capabilities and processes in VoIP network planning and network management.

These components are designed to cover the telecommunication needs for small to very large companies and VoIP carriers. The main power of the system is the sophisticated VoIP components, which are strongly used in today’s telecommunication infrastructures.

 

The Mizu components can be used as standalone or as centralized intelligent VoIP/ISDN/GSM platform, capable to handle millions of minutes/months.

1.2. Features

1.2.1. Hosting

Ø  MS-SQL backend (Express or Full versions)

Ø  Ethernet 10/100/1000 Base-T

Ø  Static IP, PPPoE (DSL or cable modem), DialUpISDN,VPN

Ø  Encrypted communications

Ø  Virtual servers                             

Ø  STUN/ICE Support

Ø  NAT Support

Ø  Near-End and Far-End NAT traversal

Ø  Multi-homed and multi-domain support

 

1.2.2. SIP

Ø  Compliant with SIP rfc's

Ø  UDP, TCP and TLS transports

Ø  Proxy server

Ø  Registrar server

Ø  Location server

Ø  Redirect server

Ø  B2B routing

Ø  PBX features

Ø  Transcoding B2BUA

Ø  Conference Server

Ø  SBC (Session Border Controller)

Ø  Routed and Direct voice

Ø  Automatic NAT detection

Ø  DID Direct Inward Dialing

Ø  Voice Recording and Playback

Ø  Absent Subscriber

Ø  Abbreviated Dialing

Ø  Multiple Subscriber Aliases

Ø  Anonymous Call Rejection

Ø  Access Control Lists

Ø  Call Baring Incoming/Outgoing

Ø  Toll Restriction

Ø  Parallel Hunting

Ø  Click 2 Call

Ø  CLIP/CLIR

Ø  DTMF generation

Ø  Call-Forward on out-of-service

Ø  Codec transcoding

Ø  Advanced statistics support

Ø  NAT traversal of signaling

Ø  NAT traversal of media

Ø  SIP Session timers

Ø  RTP Timers and media timeout

Ø  Blind SIP Registration

Ø  Late Codec Negotiation

Ø  Multiple SIP registrations per user account

Ø  Can act as an SBC

Ø  Max Session Setting

Ø  Manage Presence

Ø  Detailed call logs

Ø  SIP/SIMPLE

Ø  SIP Reinvites

Ø  SIP-H.323 protocol conversion

Ø  Class 4 features

Ø  Class 5 features

 

Ø  RFC 2543 compatibility

Ø  RFC 3261 compatibility

Ø  RFC 2976 The SIP INFO Method

Ø  RFC 3262 Reliability of Provisional Responses in Session Initiation

Ø  RFC 2617 HTTP Authentication

Ø  RFC 3263 Locating SIP Servers  

Ø  RFC 3265 Specific Event Notification 

Ø  RFC 3420 Internet Media Type message/sipfrag

Ø  RFC 3515 Refer Method

Ø  RFC 3311 UPDATE Method

Ø  RFC 3581 Symmetric Response Routing

Ø  RFC 3842 Message Summary and Message Waiting Indication Event Package

Ø  RFC 3891 "Replaces" Header

Ø  RFC 3325 Private Extensions to the Session Initiation

Ø  RFC 2778 A Model for Presence and Instant Messaging

Ø  RFC 3428 Session Initiation Protocol (SIP) Extension for Instant Messaging

Ø  RFC 1889 RTP: A Transport for Real-Time Applications

Ø  RFC 2190 RTP Payload Format for H.263 Video Streams  -only routing

Ø  RFC 2327 SDP: Session Description Protocol

Ø  RFC 2833 RTP Payload for DTMF Digits, Telephony Tones and Telephony Signals

Ø  RFC 3264 An Offer/Answer Model with Session Description Protocol

Ø  RFC 3550 RTP: A Transport Protocol for Real-Time Applications -replaces RFC 1889

Ø  RFC 3555 MIME Type Registration of RTP Payload Formats

Ø  RFC 3911 The SIP "Join" Header

Ø  RFC 3324 Network Asserted Identity

Ø  RFC 3326 The Reason Header Field

Ø  RFC 3581 Symmetric Response Routing

Ø  draft-ietf-mmusic-ice-02 A Methodology for NAT Traversal for Multimedia Session Establishment Protocols

Ø  draft-ietf-avt-rtp-ilbc-04

Ø  draft-ietf-sipping-cc-transfer Call Control - Transfer

Ø  draft-ietf-sip-referredby-05

Ø  Custom protocol extensions are possible

1.2.3. Codecs

Ø  G.723.1

Ø  G.729

Ø  G.711 A-law

Ø  G.711 u-law

Ø  GSM 06.10

Ø  GSM

Ø  Speex 2,3,4,5,6 (narrowband, wideband and ultrawideband)

Ø  G.726 (16,24,32,40 KHz)

Ø  G.722

Ø  T.38

Ø  DTMF

Ø  Custom 1 kbits codec

Ø  All other codecs for pass-trough

Ø  Voice:

·         Adaptive de-jitter buffer

·         Voice Activity Detection/Silence Suppression

·         Recording conversations  (In Stereo caller/callee left/right)

·         QoS

·         Packet saver technology

 

1.2.4. IP Centrex

Ø  Call Forward All/Busy/No Answer

Ø  Caller ID

Ø  RingGrouops

Ø  Call Return

Ø  Call Waiting

Ø  Call Forking

Ø  Call Hold/Retrieve

Ø  Caller ID Block

Ø  Selective Caller ID Blocking/Unblocking

Ø  Speed Dial

Ø  Direct Inward Dialing (DID)

Ø  Three-Way Calling, Conference support

Ø  Message Waiting Indicator

Ø  Call transfer, Attended transfer, Unattended transfer

Ø  IVR (all applications: call, callback, p2p, forward, etc)

Ø  VoiceMail 2 Email
DTMF transcoding on server side

Ø  Interactive Voice Response (IVR) supporting applications such as credit card and prepaid services

Ø  Video

Ø  Conference calls

Ø  T.38 fax relay

Ø  SMS relay

Ø  SMS commands (callback, P2P)

Ø  Web interface

1.2.5. Call Center

Ø  Automatic Call Distribution: like simple automatic dialing, power dialing, predictive dialing, predictive intelligent dialing

Ø  IVR

Ø  Call Recoding: All calls can be recorded and stored

Ø  Real time call check out: Supervisors can listen to the ongoing calls real time

Ø  PBX Features: Call hold, call wait, call transfer, call forward (conditional and unconditional), call conference, CLIP, CLIR

Ø  Customizable Scripts: script tree, with any number of branches, answers, and reason codes.

Ø  Customizable IVR: Any number of language, any number of branches, voice and faxmail, call transfer to the operators

Ø  Statistic generation: customer statistics, operator statistics, call related statistics, work time statistics, campaign statistics

Ø  Campaign creation: supervisors can create a campaigns

Ø  Invitation letter: customization, and automatic printing

Ø  Report generation: Specific hourly, daily and weekly reports

1.2.6. Accounting

Ø  ACD Features

Ø  Unlimited accounts / Unlimited Extensions

Ø  Automatic pincode generation

Ø  Flexibile authentication (digest,IP,port,user,etc)

1.2.7. Routing

Ø  Custom Routing Rules

Ø  Multi-Carrier Support

Ø  ACL

Ø  Sophisticated configurations

Ø  Load Balancing on available devices

Ø  Rerouting

Ø  Number rewriting (calling and called)

Ø  Failovering (multiple levels)

Ø  Least Cost Routing

Ø  BRS -quality based routing

Ø  Call Control Features (Maximum Talk Time, Max Ring Time)

Ø  Call routing based on PLMN tariff packages

Ø  Blacklist/White list filtering

Ø  Time of Day Routing

Ø  Direct Inward Dialing (DID)

Ø  Route capacity

Ø  Outbound Dial Map

Ø  Speed Dial Numbers

Ø  Auto call forwarding

Ø  ANI Routing

Ø  IP Blacklists

Ø  Custom VoIP Providers

Ø  Fraud detection tools

Ø  Support for NAT traversal

Ø  Automatic capacity rebalancing
Remote Linked Servers

Ø  Automatic channel management

Ø  Number portability support

Ø  User authentication by  username/password, IP address, techprefix, callernumber

Ø  GeoIP database

Ø  Automatic SIM allocation:

Sim allocation rules:

Rules can be defined on multiple levels: global, partner, gateway, engine, simpacket, simcard, time

 -Static

    -will not modify gw settings

 -Limits

    -sl (day/month)

    -packet allowed intervals

    -min/max lines for partner

 -Priorities

    -sim partnerm, sim, gw

 -Desired

    -desired minute on packet

    -packet multiplier

 -Rotate

    -“minrotateival”, “desired”, “maxrotateival”

 -Price

    -min/max pricediff on obj, maxpricepermin for system/partner

 -Timetable

 -BRS

 -LCR

 -and many other options

1.2.8. Billing

Ø  Flexible Rate Definition (peak/offpeak/flat/custom,  enduser/provider/reseller/sales, etc)

Ø  Automatic and Real Time billing (CDR records already includes the prices)

Ø  Prepaid and Postpaid platforms

Ø  Call Credit Limit Control

Ø  Unlimited reseller accounts

Ø  Callshops

Ø  Directions (traffic sender,prefix,gateway,sim packet) and time based billing.

Ø  Reporting and price comparisons (LCR)

Ø  Invoice generation in different formats, PDF generation, email scheduler and invoice printing

Ø  Complete call rating & accounting services for complex rating schemes

Ø  Currency and VAT can be set for every packet. Time zone can be changed.

Ø  Automatic online currency conversion

1.2.9. Calling Card

Ø  Pin Generation Management

Ø  Pin-less Number Registration

Ø  Support for multiple account types

Ø  Management of PINs generation, activation and deactivation

Ø  Support for unlimited number of PINs

Ø  Ability to deactivate accounts after certain period or date

Ø  Import and export of PIN batches

Ø  Management of call limit per PIN

Ø  Routing restrictions

Ø  Max call duration management

Ø  Automatic User Generation

 

1.2.10. H323

Ø  H.323 Standard Features (v.1,2,3,4)
SIP-H.323 protocol conversion (Signaling and media when needed)

Ø  Full H.323 proxy

Ø  H.225.0 Call Signaling

Ø  Fast Connect/Fast Start

Ø  H.245

Ø  H245 tunneling

Ø  H245 in setup

Ø  DTMF send/receive

Ø  Watchdog

Ø  Direct endpoint call signaling.

Ø  Gatekeeper routed: call signaling (H.225.0).

Ø  Gatekeeper routed: call signaling (H.225.0) and control channel (H.245)

Ø  Gatekeeper routed: call signaling (H.225.0), control channel (H.245) and voice

Ø  RTP Port Range (For firewalls)

Ø  Child Gatekeeper capability

Ø  Backup Gatekeeper capability

Ø  Gatekeeper clustering support (neighbors, parent/child, alternates)

1.2.11. VoIP-GSM

GSM components are not included with the default standard install and the required hardware is for extra costs.

Please contact us about the possibilities.

 

Hardware Components

No hardware components are required for H323 and SIP newtworks.

 

VoIP-GSM hardware listing:

VoIP-GSM gateway

            -8 channel gateway, best fit to any cheap DSL connection

            -up to 64 simcard/gateway

            -SIM server interworking capability

            -Integrated antenna splitter

SIM Server

            -up to 750 simcard

VoIP-GSM Server

            -industrial PC

            -fault tolerant

            -server failovering capability

            -distributed architecture

Built in watchdogs to monitor the operation of the system components

 

GSM features

Ø  Dual Band (900 / 1800 MHz or 850 / 1900 MHz)

Ø  Half rate, full rate, enhanced full rate, SMS, USSD

Ø  SIM server support

Ø  Integrated antenna splitter

Ø  8 channels/box

Ø  Up to 8 SIM cards per engine

Ø  Multiple ways to handle incoming calls

Ø  Call Forwarding

Ø  Sending and receiving SMS messages

Ø  Email To SMS Feature

Ø  Inter gateway SIM routing

Ø  SIM server interworking

Ø  GSM cell selection and locking

Ø  DTMF send/receive

Ø  CLI restriction

Ø  SIM Rerouting

Ø  Locking to a given gsm cell

Ø  Automatic SIM credit request and charge

Ø  Voice Recording and Playback  (In Stereo caller/callee left/right)

Ø  SIM server interworking

Ø  Virtual Channels

 

VoIP-GSM

Ø  First centralized architecture for GSM termination

Ø  Unlimited Gateway and  TrafficSender support

Ø  Multiple signaling protocol support

Ø  Load distribution between the operational channels

Ø  No hard limit on the number of simultaneous calls

Ø  High availability

Ø  High throughput (more than 50 million minutes/month)

Ø  No additional Mizu hardware required

Ø  Equipment management

Ø  Channel management

Ø  Simcard management

Ø  Automatic recharge

Ø  Access Control Lists

Ø  Routing (see below)

Ø  Billing (see below)

Ø  Exploits almost any SIM tariff model

Ø  Number translation

Ø  Protocol encryption

Ø  Media proxy

Ø  Automatic time synchronizations

Ø  H.323/SIP Gateway Topology Hiding

Ø  Embedded firewall

Ø  Enhanced Security (automatic detection of flood attacks)

Ø  Web GUI for end-users

Ø  Encrypted communications

Ø  License management

Ø  Distributed absolute fault tolerant system

Ø  External system supervisor service (email and sms alerts, watchdog can restart failed subsystems)

Ø  Can be used as virtual servers

 

1.2.12. Management

Ø  Centralized configuration and management for all software and hardware components

Ø  MManage:

o   -easy to use, mdi style

o   -almost every data query is parameterized with traffic direction and time

o   -all data in one place

o   -lots of data can be obtained from sl,asr,acl forms

o   -global system analysis

Ø  Create and edit network elements

Ø  Remote maintenance of Mizu gateways

Ø  Display of system information

Ø  Realtime call status view

Ø  Service restart functions

Ø  Display of the current status of each gateway and channel

Ø  Real time call supervision (with many grouping options)

Ø  Real time channel supervision (with many grouping options)

Ø  Statistics (Text based and graphical ASR,ACD,SL, etc) on any traffic direction and time scale

Ø  Disconnect Reasons (with many grouping options)

Ø  CDR monitoring, retrieval, direct CDR access
Operator Console

Ø  Global system analysis!

Ø  Routing pattern selection

Ø  Routing time selection

Ø  Failovering (in case of channel, gateway, direction etc errors)

Ø  Best Route Selection

Ø  Billing module

Ø  Balance module

Ø  Real Time Capacity check

Ø  Ability to insert queries directly into the database

Ø  Blacklist filtering

Ø  Self-analysis tools

Ø  Detailed logging (multiple levels). Detailed call tracing capability

Ø  Call simulations

Ø  Reseller/Agent Registration and Management

Ø  Capacity and system load reports

Ø  Import/Export from/to any format (SQL, text, excel, etc)

Ø  CRM Integration

Ø  Restore and Backup

 

1.2.13. Limitations

Ø  The maximum database size for basic gateways and servers is 4GB. If you need to work with more than 5 mil calls for more than 3 month, you should upgrade your license to the advanced version.

1.2.14. Known issues

Some class 5 features  will work only with SIP protocoll

H323 GK doesn’t support username/password authentication

RADIUS is compatibile only with some servers

1.3. Contact and tech support

Full remote administration supported.

Continous email support.

24/7 emergency phone support.

Visit http://www.mizu-voip.com for more details.

2. Modules

Depending on licensing, some modules may not be available in your release!

 

The Mizu Soft switch (Server) is the “brain” of the system. Depending on your needs, you can connect as many gateways as you want. Small companies can use “all in one” solutions, where the gateway and the server are placed in the same box. Large organizations will divide the server in multiple units, adding more power and fault tolerance. Up to 6 gateways the server can be used with the built-in database engine. With more gateways or users it is strongly recommended to use one or more separate database servers (MS-SQL or ORACLE). The soft switch is built from several modules: sip stack, h323 stack, sip – h323 conversion module, media server, ACL, routing, billing, alerting.

2.1.1. SIP Stack

The Mizu SIP stack was written in C++. It’s very fast and robust, currently used by voip service providers handling thousands of users.

2.1.2. H323 Stack

Capable to work as a simple Gateway or as a fully featured Gatekeeper.

2.1.3. SIP-H323 converter

Thank to this module, the protocol conversion is very transparent. You don’t even need to know if your partners use SIP or H323.

2.1.4. Media Server

If your server needs to route the media channels for many concurrent calls, you may need to use a separate media server, thus offloading the server traffic, and maximizing media throughput.

2.1.5. Routing

With the Mizu softswitch you can build very sophisticated routing scenarios. The routing is usually based on traffic direction and time. LCR and BRS routing are available.

2.1.6. Billing

The server will generate the detailed CDR records after each call. Thus the billing can work nearly real-time. (very important for prepaid systems). You can generate various reports and invoices based on a set of predefined rules.

2.1.7. Alerting and Daily report

The server can send various reports and alerts based on predefined rules. The reports are sent by email or SMS.

2.1.8. Virtual Servers

You can create up to 100 virtual server on a single pc. These are completly separate billing/routing/signaling entitites.

2.1.9. Call Center

Manage operators, automatic call distribution, IVR and other callcenter specific tasks.

2.1.10. Watchdog service

This NT service can automatically detect critical service problems and restart the VoIP server, the SQL database or the OS.

 

2.1.11. HTTP service

The built-in HTTP server will listen for service requests.

 

2.1.12. Direct command interface

Administrative tasks and class5 service requests can be handled by the command line TCP interface.

 

2.1.13. Enduser web portal

Template portal is available with source code. All common enduser tasks can be done via a user friendly web interface (new user registration, download CDR records, show statistics, setup call forwarding, payment, etc)

 

2.1.14. Selfcheck and reporting

Various system tersholds will checked reltime and the server will do the corresponding actions automatically. The same module is responsible for daily/weekly/monthly email or SMS reports and alerts for administrators and users.

 

 

 

2.1.15. VoIP-GSM Gateway

Mizu VoIP-GSM Gateways support 8 concurrent calls and up to 64 simcards. 

See the features section for more details.

GSM

All standard GSM capabilities are supported.

VoIP

Mizu VoIP-GSM Gateways can accept SIP and H323 registrations, can act as a SIP proxy or a H323 Gatekeeper or Gateway. These functions can be run simultaneously.

SIM Bank

The built-in simbank will allow to virtually route the simcards in other Mizu gateways.

Mizu VoIP-GSM Gateways can take advantage of an external simbank, so you can have all your simcards in one place, easing the maintenance and administration tasks.

2.1.16. Other components

server service: the brain of the system

H323 GK: standard H323 gatekeeper

SIP Server: sip stack

Media Server: rtp routing

VGW: voip-gsm gateway, the most essential part of the client

client service: this service supervises the gsm gateway and gives a clear interface to the server

MManage: smart client software, capable to manage the whole system

supervisor service: this service supervises the mserver

alerter service: collects statistical information and reports it

recplayer: can play g729, g723, encrypted, raw PCM and wave files

loganalizer: log file parser

gwtest: handle gsm terminal (no h323)

ipmux: packet saver client and server

serveremulator: server interface to gk

simalloctest: test the automatic sim allocation

smtp_test: test smtp functionality

tariffcalc: estimate sim packet real price

tcperver: tcp server for test

udptest: udp through test

valerterclient: alerter sw which can be installed on client computers

vchargecards: manage chargecards

vclientinterface: platform specific functions for the gw

partnerclient: admin sw. for our partners

pricesettings: for packet price configuration

routingandprices: for config. routes, prices and sim packet priorities

servertest: brute force test for the server

supervisor: supervises the server

updater: automatically updates client software from the server ftp

mediasrv: media server for routing rtp packets

businesslgc: controls the routing, registration, endpoint list, endpoint creation, udp initialization

 

VPC

Simple monitoring software fot business purposes. Each partners (gateway or simcard owners, traffic senders, etc) can have their own VPC to monitorize their own traffic and create reports.

VPC Setup

You can give the VPC for any of your partners. The partners can login to the VPC with they username and password configured in the “Users and Devices” form in MManage. Usually only “Owner” users will receive VPC access.

You can define what users can see in their VPC by setting the “Can watch sim packets”, “Can watch users/devices” and “Access Rights” in the user configuration form (billing tab). See section 4.3.1 for more details.

The VPC included with MManage has the capability to login as a superuser. To do so, you have to enter your partner username, but use the admin password (from the  “ad” account). Then you have access to the “Add Query” button in the VPC. Here you can add,delete or modify the existing queries and their access rights.

In the “rights_allow” field you can put a list of user id, “all” or “nobody” fields. The same for the “rights_deny”. Thus you can configure which partner can see and execute which queries.

 

3. Maintenance Tasks

When properly set up, Mizu software doesn’t need too many administration tasks. The routing will adjust automatically to the external conditions. Every software module has auto repair features. However if you have millions of minutes/month, you may have to watch the system parameters every day.

3.1. Server configuration checklist

3.1.1. Softwares

Windows 2003/2008 server, MSSQL 2000,2005 or 2008

3.1.2. Firewall

-allow servers, FTP, IIS, MSSQL, SMTP, remote destop (3386,3389)

-block: all others, file sharing, ms network

3.1.3. Services and memory

Autorestart critical services

For more than 3 Gb set boot.ini: /3GB /PAE

3.1.4. Licensing

Setup configuration with the proper software(s)

3.1.5. Config

Setup FTP and Voice directory NTFS access

3.1.6. MSSQL

Change port to 2223

Disable pipes

Check configuration in Management Client

 

 

3.2. Gateway quick setup

Skip this chapter if you are not using VoIP-GSM gateways.

In order to get a working system, here is a checklist which may help you:

1. Connect the gateway(s) and/or the server to the network.

2. Install the MManage programs in a separate PC used for monitoring your Mizu devices. network (you can find it on the Mizu install CD which is shipped with every product)

3. Set up the gateway(s) and/or the server network parameters with the VnetCfg utility

4. Put your simcards into the gateway (see the image below)

 

 

5. Connect to the gateway or server with the MManage (by typing its ip address and username/password in the login form)

The default username/password is admin/tpwdadmin

6. Set up the basic parameters from the “Configurations” form

    Be careful.

7. Set up one ore more packets for the simcards in the “SIM Packets”

    Be careful with the following settings: prepaid/postpaid, allowedpartners

8. Set up the simcards. You can add simcards manually, but it’s easier to wait for them to register. Then you only have  to modify its packets, owners and the recharging settings (“Simcards” form)

 9. Add some traffic sender in the “Users and Devices” form.

    Be careful with the authorization settings

10. Set up the routing (“Routing” form)

      Add at least one routing pattern (name it as you wish)   

     Add at least one entry to its priority list (your newly created packet or some other direction)

11. Set up advanced routing –Optional

     Firewall, prefix rules, BRS, etc

12. Set up the billing module –Optional

13. You are ready to accept traffic now.

3.3. Daily Maintenance

You should check at least the followings every day:

            -Current Calls –to quickly check if you have the required amount of traffic

            -GSM Channels (channels with problems are marked with red)

            -Quality Statistics by traffic senders and terminating gateways

            -Run a global system analysis (“Analyze” form)

3.4. Monthly Maintenance

-Check your cash flow (“billing” form) to check if your routing is still profitable

-Logs (errors and critical levels)

-Analyze your traffic by using the “Advanced Statistics” form

-Remove blacklisted but good numbers

 

3.5. Server backup, recovery and maintenance

3.5.1. Database backup

You can configure your database engine to do the backup tasks. If you don’t have this possibility, the Mizu Server can also make database backups. Set the following configuratuions:

dbmaint_backuplevel:  0=no backups,1=daily,2=daily,monthly,weekly,3=hourly,daily,monthly,weekly,4=keep lots of files

dbmaint_backupdbdir: local path (accessible for the server)

dbmaint_backupdbnetworkdir: path accessible for the database engine (it is neccesarry when the database is located on a separate box. Othervise can be left empty –default to dbmaint_backupdbdir)

3.5.2. Using Backup database tables

To keep your active size smaller, you can move the content of big database tables to another database. For example cdr records older than 5 month, etc. This backup database will be easily accessed by the MManage.

dbmaint_backuptables:  backup cdr records and other tables to xxx_backup: 0=no,1=cdrs,2=extended,3=all

 

Frequently used and important tables are backed up daily, the other monthly.

The amount of data that is backed up can be controlled by the “dbmaint_removecdrs” (meassured in days. is direct proportional with this setting)

If the dbmaint_backuptables is set to 2, than the amount of data can be controlled by the dbmaint_removeother value.

Logs are removed after dbmaint_removelogs days.

 

The backup databases are created with the same name as the current database with a “backup_” prefix.

If you want to place the backup tables to a separate server, you must set that backup server as a linked server in the main database and set the “linkedserver” config option in the server inifile.

 

The backup intervals can be controlled by the “dbmaint_backuplevel” option: //0=no backups,1=daily,2=daily,monthly,weekly,3=hourly,daily,monthly,weekly,4=full,5=keep lots of files

(be aware that if you set it to 0, than the other option will have no effect)

 

In order to take advantage of the backup database, you must set the “Secondary database” option in MManage to “Autodetect” or “Secondary DB”. When set to autodetect, it will attempt to load data from the backup database if the query date is set to more than 1 month later (it will failback to main database if is set to earlier than 2 week). In this case the “untill” date is modified automatically to yesterday midnight when needed.

For the MManage to be able to connect to the backup database, the “backupdatabaseaddress  must be set up correctly when a separate database is used.

3.5.3. Database maintanance

The server will optimize the database engine automatically.

dbmaint_do: enable/disable the daily and the monthly maintanance

dbmaint_removelogs: Trunk log tables and remove logfiles after x days

 

 

3.5.4. Saving recorded voice

Serverftpvoice: where to store recorded audio

Serverftpdailydir: set to true to create separate directory for recorded voices daily

Keeprecorded: days to keep voice records

Voicebackupdir: backup your recorded voices to this secondary location

Keepbackuprecorded: days to keep the voice backups

 

The voice recording option can be set for any user by checking the “Record” checkbox on the user configuration form in MManage.

Conversation will be saved in the directory specified by the “serverftpvoice” global config option.

A separate backup can be created in the directory specified by the “voicebackupdir” global config option.

Out of date recorded files can be deleted by setting the “keeprecorded” option accordingly (days to keep).

Recorded files can are compressed and encrypted by default.

On new server installation, make sure that the voice directory are accessible via ftp for the MManage (for listening on the “CDR Record” form). To make things easier it is preferable to setup the ftp passwords the same as the database login.

 

 

3.5.5. Alternative backup deletion

 

You can define an alternative backup deletion method by the following values:

Deldbbackup:  delete old backup files after this day elapsed

Dbbackupdir: delete from this directory and its subdirectories

 

You can automate backup cleanup by setting the following global config values:

Deldbbackup: days to keep (-1 disables cleenups)

Dbbackupdir: database backup directory

dbdelbackupdir1, dbdelbackupdir1, dbdelbackupdir3:  database backup subdirectories

This feature is useful, when the database engine don’t have cleanup feature.

 

3.5.6. Disaster recovery

You must always have a working recovery plan.

Here is a template with dual server configuration:

 

if the application server fails (the server directly connected to the internet, with your public ip

1.  call your ISP support to change the internet cable to the backup server, and when it will be available connect to the "backupserver" with the remote desktop  "root" account

  -on the backup server do the following:

2.   enable the "mserver" service

3.   launch the start batch file (from gk directory)

4.   check the  vservdebuglog and the MManage

 

if the backup server fails (the server behind the main server, with private ip)

-connect to the main server with the remote desktop "root" account

-On the main server, do the followings:

1.  launch the stop batch file (from the gk directory)

2.  Enable and Start the SQLSERVER service

3.  Restore latest database

4.  launch the start batch file

5.  check the  vservdebuglog and MManage (you must have current calls)

6.  you are ready

4. Administration

4.1. MManage

4.1.1. Overview

Although the server and the gateway are PC based, you will newer have to login to the PC. All administration tasks are done from MManage.

 

4.1.2. MManage Installation

The MManage program group is shipped with all Mizu Hardware components. Occasionally you may visit our website to download the newer versions. The software is shipped as a standard windows install package. Requirements are:

-Windows 2000/XP/Vista/Win7/2003/2008

-At least 1024x768 screen resolution for better operation

-You may need a headset for tescalls

-Network connection

Double click on the install exe and follow the instructions.

 

During the install procedure the following modules and files will be copied:

-MManage.exe –tha main executable

-VPC.exe –admin version

-VSQLRouter service –for compressing and encrypting sql requests and answers

-VoIP client programs (SIP and H323)

-Adobe Acrobat Reader –optional (can be canceled during the install process)

-Cute PDF Writer – pdf printer driver used for reports and invoice pdf creation  -optional (can be canceled during the install process)

-Utilty programs: tariffcalc.exe, smtptest.exe, rptest.exe etc

-Required dll files

-Help files

-Uninstall.exe

-Other files (depending of your install package configuration, OS version, etc)

 

When properly installed, you are ready to login on your server(s) and/or your gateways. If you have a central server, all administration tasks can be done connecting only to the server. If your gateways are running without a server, you must connect to each gateway separately for doing administration tasks.

 

The following values are required on login:

App Server: server ip address

DB Server: databse ip address (“default” can be used if the same as “App Server” address )

DB: Application and database instance (because a single server can hold several virtual server)

Username: login name

Password: login password

Use encryption: encrypt and compress the server comunication  (requires the “vsqlrouter” service to run)

 

 

4.1.3. MManage Framework

 

 

Almost all tasks are done by selecting an item from the left side of the main form. For detailed descriptions please read below.

In the Menu you can find common tasks such as “Settings”, “Save As”, etc. The selected action usually has effect only on the current active form.

From the File Menu you can save, print or export the selected form. Usual database operations are performed from the Edit Menu. In the Favorites Menu you can see the most frequently used items. In the Tools Menu you can find a set of helper applications explained later in this document.

 In the Settings Menu  the most important form is the “Select Direction” which will filter almost all listing used in MManage.Here you can define your preference regarding the traffic direction including Source and Destination. You can filter on Item Type, Item, Group, Number Prefix, Packet and SIM Card. For example you may select one SIM ID, and when loading logs, you will see only the messages related to the selected simcard.

 In the left-bottom side of the form, you can find an edit box used for quick search. You can use the ‘*’ character in the begin and the end of expressions. (For example when searching for CDR records).

Most of the report will be filtered after the selected Date Interval also.

In the Thresholds you can set some thresholds used for MManage. This setting doesn’t have any effects on the server or gateway. Server and gateway thresholds may be set up from the Configurations Form explained below. In the Options Windows (still from the Tools Menu), you can set up several important MManage parameters.

In the Help Menu you have access to documentation.

            In the Licensing box you can see your server parameters (there is no effect if you change these values, because these ar used only for informing you). Depending on licensing, some modules may not be available in your release! Occasionally you may need to know the software version you use, which you can find in the About box.

           

Example: How the check your ASR for the traffic sender “A” in the last week.

1. In the date-time drop-down list, select the “Last Week” field

2. In the “Select Direction” form set the “Source” (left side) “Type” to traffic sender, and select “A” in the “Name” drop-down list (or type “A” manually)

3. Launch the “Basic Statisitcs” form under Monitoring.

4. Clear the “Group by” option (select  the first  “-“ line)

5. Make sure the ASR checkbox is checked

6. Click on (Re)Load

7. Depending on current server config and current load this query may take some time (on a usual configuration this will take 2 second)

4.1.4. Import-Export Wizard

With the ease of the inport –export wizard, accessible from MManage File menu, you can import and export data from/to a lots of data formats.

The following file types and databases are supported:

Access

Excel

DSN

CSV

Text

 

IBM-DB2

Interbase

MS-SQL

MySQL

Oracle

Paradox

DBF,dBase,FoxPro

 

Other datasources wich can be accessed by ADO or ODBC.

4.2. Monitoring

 

4.2.1. Current Calls

Currently running calls are listed here. Calls terminated on Mizu Gateways are displayed in separate list from other directions. You can filter the listing by selecting your preferences in the “Set Direction” box (as you can do in many other parts of the program).

The following grouping is available: by caller, by called, by called prefix, by simowner and by sim packet.

Field Explanations:

Status: engine or simcard status. Can have the following values: Gateway Disabled, Off (no info), Not Active, Gateway Disconnected, Closed, Not Ready, Ready, Dialing, Ringing, Speaking, Call Ending, DTMF, Simulating Outgoing, Simulated Incoming, Routing to SIMID, Routing to Alias, Routing

Duration: seconds elapsed from Setup (not from Connect!)

Caller: source name (user name or traffic sender name)

Called: destination name (user name or traffic sender name)

CallerNumber: the phone number of the caller party

CalledNumber: the phone number of the called party

Dialed: number routed to called user or gateway (with techprefix)

Line: the number of the gsm channel (usually from 0 to 7)

SimPos: the position of the active simslot in the current engine (usually from 0 to 7)

SIM Owner: the owner of the SIM Card

Packet: the type of the SIM Card

TodaySpeachLength: the number of active minutes on the current simcard since 00:00

ThisMonthSpeachLength: the number of active minutes on the current simcard since the first day of the current month

SIM ID: sim identification number

 

4.2.2. GSM Channels

Usually this is the most frequently used form by the technical support. You can  see the status of each gsm channel on your gateway(s).

Status Filter:

Existing lines: List only current running channels. (this doesn’t mean that the channel is workable. We list all channels who have reported there status in the last 5 minutes)

Good lines: only workable lines are listed. (ok status and with enough credit)

Credit problem: will list the channels with low credit and when the credit request/recharge functionality doesn’t work properly

Wrong lines: list all “bad” channels

Last week detected: all active simcards in the last week

All: all channels including disabled ones

Sim distribution: all existing simcards

Not used postpaid:  Some simcards may not receive calls for many days due to some misconfigurations. You may check this list occasionally to be sure that all of your postpaid simcards are working.

Active and not used: Working simcard without calls on it

Monitor: simcards grouped on gsm channels. You may detect missing “holes” very easily by scrolling down this list. This listing is almost the same as in the “Line Monitor” form.

 

Field Explanations:

ID: database unique identifier

SIM ID: sim identification number (you can find this number written on the simcard)

IMEI: unique gsm engine identifier

Monitor: the status of the channel. The following values are defined:

-unknown: you may have to reload

-missing: no simcard detected

-sim disabled: the “enabled” property of the simcard is set to false. No calls are routed to that simcard.

-gw disabled: the “enabled” property of the gateway is set to false. No calls are routed to that gateway.

-gw missing: no status from this gateway for more than 8 minutes

-sim missing: no status from this simcard for more than 8 minutes

-sim temp. disabled: the simcard “temporarily disabled” property is set to true. You must reenable the simcard to receive calls.

-gw temp. disabled:  the gateway “temporarily disabled” property is set to true. You must reenable the gateway to receive calls.

-packet disabled: : the “enabled” property of the simpacket is set to false. No calls are routed to the members of that packet.

-closed: the channel is in the “closed” status. Can be for simchange or maybe is in restart.

-failovered: call quality has dropped below the predefined values, so the sim priority is lowered

-cannot get credit: credit automation malfunction. There are simcards from which the operator may restrict the credit request if they have no credit. Also you may need to check the packet settings related to the credit request. Check the logs too.

-wrong statistics: wrong ASR or ACD in that channel in the current day

-wrong ASR: the ASR is low in that channel in the current day

-wrong ACL: the ACD is low in that channel in the current day

-expired: the simcard has reached the predefined limits (you can configure this limits in the SIM Packets form)

-low credit: not enough credit on this simcard. Check if you have enough chargecards and the credit automation is working correctly.

-autodisabled: same as failovered

-ready (in black): no calls have been routed in the last 10 minutes on that channel (but the simcard is working without problems)

Status: channel status as reported by the gateway. Can have the following values: Gateway Disabled, Off (no info), Not Active, Gateway Disconnected, Closed, Not Ready, Ready, Dialing, Ringing, Speaking, Call Ending, DTMF, Simulating Outgoing, Simulated Incoming, Routing to SIMID, Routing to Alias, Routing

Line: the number of the gsm channel (usually from 0 to 7)

SimPos: the position of the active simslot in the current engine (usually from 0 to 7)

SIM Owner: the owner of the SIM Card

PartnerID: The database ID of the owner user

CanWatchPartnerID: database id of the partner who can see this simcard in there VPC

Packet: the type of the SIM Card

TodaySpeachLength: the number of active minutes on the current simcard since 00:00

ThisMonthSpeachLength: the number of active minutes on the current simcard since the first day of the current month

ThisMonthSpeachLengthPeak: the number of minutes since the first day of the current month in peaktime

ThisMonthSpeachLengthOffPeak: the number of minutes since the first day of the current month in offpeak times

ThisMonthSpeachLengthWeekend: the number of minutes since the first day of the current month in weekends

Username: Gateway Alias

Credit: current credit on the simcards. Refreshed after all calls, and corrected after credit requests (VAT included!)

InitialCredit: you may save the initial credit of the simcard here

Tpercek: special field for TMobile Tminutes

AllowedPartners: comma separated list of allowed partners and traffic senders. ‘*’ will allow all. You may restrict the access on gateway or simpacket level instead of setting it for all simcards separately. Try to use the packet “allowedpartners” setting and leave it as ‘*’ for the simcards!

Prepaid: loaded from the packet settings (1 if prepaid, 0 if postpaid)

Datum: the date when the simcard was inserted in the database (first use)

Comment: you may place any comment here

LastError: last error message received from the gateway related to the actual simcard

LastLog: last log message received from the gateway related to the actual simcard

LastFailedCalls: the number of subsequent failed calls (not connected calls)

LastWrongCalls: the number of subsequent wrong calls (below the predefined speech length)

LastGoodCalls: : the number of subsequent good calls (above the predefined speech length)

FieldStrength: combination of last reported field strength value in percent (0-100%) and the rx quality (from 0 to 7.  9 is invalid).

Value = field strength*10+rxqual  (divide with 10 to get the fieldstrength. The remaining is the rxqual)

Pin: the security code of the simcard

LastRecTime: : the date-time of the last message received from the simcards. Every channel will send status messages in every 2 minutes and on status changes

LastCallerid: the destination id of the last call attempt

LastDialedNum: the called party number of the last call on the simcard

LastCallBegin: the date-time of the last call attempt on the simcard

LastCallEnd: the date-time of the last call attempt on the simcard

Enabled: set to 0 to disable the simcards instead of deleting it

TemporarilyDisabled: you can disable the simcard temporarily for maintenance tasks by setting this value to 1

DisabledUntil: used for automatic failovering. If the value is above the current time, the simcard is in failovered state

DisabledCause: last disable cause explained

ReenabledCount: how many times have the simcard reenabled after a failover

LastReenabled: the date-time of the last reenabling operation

TodayCallCount: call attempts from 00:00

ThisMonthCallCount: call attempts from the first day of the current month

AllCallCount: all call attempts on the simcard until now

AllWrongCalls: all wrong calls on the simcard until now (speech length below the predefined value)

AbsolutePriority: if you set it higher then on other sims, all calls will be routed here primary

Priority: routing priority boost

Filtering: determines how we check the blacklist and the known numbers

 0-no filter: allow all numbers

 1-allow blacklist „sure” level: 0,1 and 2 (tb_blacklist)

 2- allow blacklist „sure” level: 0 and 1

 3-allow only blacklist „sure” level: 0

 4-block all blacklist

 5-allow only known numbers (listed in tb_knowngoodnumbers)

 6- allow only known numbers that are 100% ok (sure is 1 in tb_knowngoodnumbers)

Co_....: fields used by server for fake call and sms simulations

BestDirection: used for automatic simallocation

BestPrice: used for automatic simallocation

EngineID: the corresponding engine (tb_engines.id)

Credit automation related fields:

CheckCredit: credit calculation or request/charge operations needed

CrequestEnabled: automatic credit request enabled/disabled (1/0)

LastCreditRequestTry: the date-time of the last credit request command issued by the server

AllCreditRequestCount: the number of credit requests

LastCreditAnswer: the date-time of the last answer to the credit request command

CreditRequestFails: subsequent failed credit request. Check the credit automation logs if this goes above 3

LastCreditRequestFail: : the date-time of the last failed credit request

ManualCreditRequestNeed: when set to 1, the server will request the credit from the simcard in 5 minutes

ChargeEnabled: automatic recharge is enabled/disabled (1/0)

MustCharge: when set to 1, the server will charge the simcard in 5 minutes

LastCreditChargeTry: the date-time of the last credit charge command issued by the server

LastChargeCardID: the database identifier of the last charge card used for this simcard

LastChargecardPrice: the value of the last charge card used for this simcard

CreditWhenCharged: the credit value after the last recharge operation

AllChargeTryCount: number of charge operations until now

AllChargePrice: the sum of the total charge card value

FailedCharges: subsequent failed charge requests. Check the credit automation logs if this goes above 3

LastChargeSuccess: the date-time of the last successfully completed charge operation

LastChargeFail: the date-time of the last failed charge operation

CreditDiffErrors: too big difference detected on sim credit reports

 

4.2.3. Basic Statistics

Shows the main quality parameters of your system.

 

 

CDRC: call attempt count

SL: speech length (duration in minutes)

ASR: average success ration (percent)

ACL, ACD: average call length, average call duration (in second)

You can select any direction in the “Select Directions” Box, to check only that specific traffic. Also there are some simple groupings available:

-No grouping: will display the total sum. Chart views are supported only with this option

-Group by Called Gateway: list of destination gateway statistics

-Group by Traffic Sender: list of statistics by source

-Group by SIM Packet: statistics by SIMCard type

-Group by Provider Direction: statistics by called number prefix (first 4 digits)

 

4.2.4. Advanced Statistics

This is an extended version of Basic Statistics. You can find more grouping options here.

 

 

Additional reports:

-ASRB: average success ration, but here the “success” means a minimum amount of duration. Configurable in Settings Menu -> Thresholds Box

-ACT: average connect time. The time elapsed from setup until the connect in seconds

-PF: profit. This require your billing module to be properly configured

-SUCC: successful call count (same as ASR but not in percent)

-CCC: concurrent (simultaneous) call count

-RTP: media channel statistics

 

You can make the grouping by minute in this form by checking the “on minute” box.

 

The following “grouopby” options are available:

-: display summary data (no groupby)

Caller and Called: group by caller and called users

Caller: group by caller (source) user

Called: group by called (destination) user

Traffic Sender: group by caller (source) user, but show only traffic senders

Called Gateway:  group by called (destination) user, but show only gsm gateways

GSM Engine: group by called gsm channels

Gateway, Packet and SIM Card: group by called simcard (and show the actual gateway and packet)

SIM Card: group by called simcard

Caller IP: group by caller ip address

Week –absolute: group by week, but with sum (don’t groupby to months)

Day –absolute : group by day, but with sum (don’t groupby to weeks)

Hour –absolute: group by hour, but with sum (don’t groupby to day)

Week: group by weeks

Day: group by days

Hour: group by hours

Minute: group by minutes

Day Compare: comapare current weekday with last week the same day

Called SIM Packet:  group by called simcards group

Partner/Day: group by partner and day

Partner/Hour: group by partner and hour

Partner/Minute: : group by partner and minute

Called Country: : group by called user country

Called Direction: : group by callednumber zone

Provider direction (prefix):: group by callednumber prefix

Provider direction (name):  group by callednumber direction

Direction and packet: group by prefix and simpacket

Provider direction and packet: group by callednumber zone and simpacket

By caller root endusers: group by billed or company callerusers

 

4.2.5. Disc. Reasons

Disconnect codes in graphical form by any traffic direction.

 

 

 

The server will collect the reason in the most appropriate format depending on the protocols used. For example for a call from voip to gsm if the disconnect was caused by the gsm party, then you will se the GSM network reason code here. Otherwise, if the disconnect source was the caller party, and then you will see H323 or SIP reason codes here.

 

The most common reason codes are the followings:

-SIP, Bye: normal SIP close code

-SIP, CANCEL: the call was canceled by the caller (not connected call)

-H323, Remote endpoint application cleared call: normal H323 disconnect

-H323, Remote endpoint stopped calling: the call was canceled by the caller (not connected call)

-GSM, Normal call clearing: normal GSM close code

-GSM, Normal unspecified: normal GSM close code

-Server, Blacklisted: dropped due to ACL (blacklist)

-Wrong Media: no voice activity detected.

4.2.6. Line Monitor

This is a simple listing of your channels. You can discover all simcard problems by scrolling down this list. (Missing channels are highlighted)

4.2.7. Capacity Check

This module tests the capacity for the predefined direction in priority order.

4.2.8. System Load

Shows system utilization statistics.

4.2.9. Server Console

Direct interface to the server command port. Type help to see the available commands. You can connect directly to any gateway interface.

Command defined on gateway interface:

help      show this command list

info       show status and important parameters

cmd        launch the predefined process

exec        launch the predefined process

file        will send the requested file

showlog    will send the last lines from the requested file

timeset    will sent the current time

setini     write to config file

getini     read from config  file

dtmf       send dtmf

ftpget      load from  ftp

ftpput      put file to ftp

selfupgrade  do a selfupgrade

gwrestart  restart the gateway process

pcrestart  restart the gateway (hardware)

4.2.10. Server Monitor

Will connect to the server logport. The trace level depends on configuration (Open the Configuration form, type “log” in the filter box, and hit the enter button. Then you can see all options regarding to log levels)

4.2.11. Logs

Here you can see the log records for the server and every connected Mizu Gateways in the selected time preiod. You can restrict the listing by defining the source, severity or filtering.

4.1.12. Analyze

You will get detailed system analysis in this module. Thus you can see through the system by only one mouse click. Malfunctions are colored in red.

 

4.1.13. CDR Records

After every call (and SMS, etc), a new CDR is stored in the database tb_cdrs table (and in tb_cdrresellers when the reseller option is used).

CDR records can be filtered, analiyzed, exported and lots of vital statistics are based on this records.

CDR records will contain the following fields:

Id: database identifier. Auto increment

Datum: the date-time when the CDR were inserted into the database (call end time)

Callstartdate: call start time (first INVITE sent or received)

Callenddate: first disconnect code or CANCEL/BYE received or sent

Connectdate: first 200 OK received or ACK for 200 OK sent

Connecttime: time elapsed until call fail or call pickup (routing+ringing time)

Workenddate: used for callcenters and represents the time when the operator have finished to work with the current client (CRM updates, etc)

Realduration: speech length

Discparty: disconnect origination. 1=called or gsm, 2=caller or h323, 3=router (server)

Discreason: disconnect reason code. Explanations in tb_reasoncodes

Callerid: caller database id from tb_users

Callerip: the origination ip

Callernumber: caller phone number (or sip username)

Calledid: called database id from tb_users

Simid: called simid (if any)

Calledline: Engine (phone line) or the called proxy authorization id (from tb_proxyauth)

Calledip: the ip address of the called party

OrigCalledNumber: received called party number (not modified)

Callednumber: techprefix and the normalized called number. If the server will block the call too early, than you may have the “origcallednumber” here (no techprefix and normalization)

DialedNumber (calleddialed): the forwarded called number (sometimes only the “callednumber” will be insterted here)

Rtpsent: rtp packets from caller to called. 0 if no rtp routing. At least 1 if routed. If remains 1, then routing has failed

            In case of sip this means rtp packets received from the called and sent to caller successfully

Rtprec: rtp packets from called to caller. 0 if no rtp routing. At least 1 if routed. If remains 1, then routing has failed

            In case of sip this means rtp packets received from the caller and sent to called successfully

Rtplost: lost rtp packets

Rtpcodec: voice codec name

Rtpname: used for gateways

Rtpframes: rtp payload framed in one udp packet

Signalin: audio signal strength into the playback device

Signalout:  audio signal strength received from the audio recorder device

Jittertime: used when jitter time is reported by gateways or softphones

Tpercek: hungarian specific. deprecated

Costprovider: call cost to the provider (ex. Tmobile)

Costenduser: cost for the caller in global currency (ex: a sipuser or traffic sender)

Costenduseru: cost for the caller in user currency

Costsales: sales commission if any

Costcompany: price for the reseller company

Costadditional (costother): used for reseller prices (in the main cdr)

Recfileid: if we have recorded the voice, then after this field we can found the recorded file

Mark (marker): for special CDR records: EMAIL (e-mail), SMS (sms), FAX (fax calls), FAIL (failowered), RER (rerouted),  FWD (forwarded), TRANS (transferred), CONF (conference), PRED (predictive) and to signal other important call types

Opworktime: used in callcenters to store the actual operator worktime

Opwaittime: used in callcenters to specify how much time the operator have been waiting for the current cal

Billingstep: loaded from price settings (endusercost packet)

Unitprice: loaded from price settings (endusercost packet)

Billingentry: loaded from price settings (endusercost packet)

Origduration: all original duration (because the “realduration” field can be modified on IVR 2 leg billings or when hidden charges are applied)

Resellerid: top reseller id in tb_cdrs. Actual reseller id in tb_cdrresellers

Accessnumber: set when the call have been made trough a specified IVR access number

Origcallerid: used when the caller id have been modified during the call. For example the caller can be a “traffic sender” but after ANI or PIN authorization there is an enduser inpersonalisation

Alegduration: used for 2 leg calls (first calleg with ivr)

Blegduration: used for 2 leg calls (seconf calleg from ivr after callforward)

Comment: with details about the call setup and disconnect. Can contain a shortened message exchange log.

 

 

Rtpsent and rtprec is 0 when media routing has failed (if we don’t route the media, or the terminating endpoint don’t send media info to us, the system will set there values to 1, so this condition will be true)

 

All prices in the cdr records are calculated with VAT included!

4.3.14. Balance

Duration lists of several traffic types.

4.3.15. Callcenter Statistics

Statistics related to callcenter operations: Campaign and operator  statistics.

StartTime: operator first login in TAgent in the current day

EndTime: operator last seen time in the current day

WorkTime: time when TAgent was running

ActiveTime: time when the operator is in “Automatic Call” form and not paused

OpWaitTime (WaitTime): the time elapsed from a new call request untill the first call connect. Smaller times represent more effectiveness. (the reason for the predective dialer is to reduce this time to minimum). The value will be stored for each connected cdr record.

OpWorkTime (PTime): The time elapsed from hangup untill new call request. This will represent the time spent by the operator for data postprocessing. Quick operators will have smaller opworktimes (but can be affected by the ammount of data to store) . The value will be stored for each connected cdr record.

TotalWorktime: Tagent runtime in that day

ActiveWorktime: When the automatic dialing form is active and not in paused

Called: number of called clients

Completed: clients marked as completed. Useful for meassuring the operators effectiveness.

Invited: clients marked as invited. Useful for meassuring the operators effectiveness.

Recalls: clients marked as need recall

CDRC,SL,ASR,ACL: traditional statistics. More details here.

4.3. Access

4.3.1. Users

 

This form will allow to manage the users of the system (Endusers, SÍP users, Administrators, Tech. Support users)

 

You can list the users with the following filters:

-ActiveNow: gateways with received status in the last 5 minute or endusers active (register or invite received) in the last 3 hour

-Active:

-gateways with received status in the last 24 hour or when “mustbeactive” is set to 1

-endusers active (register or invite received) in the last 24 hour

-All Enabled: where the “Enabled” field is not 0

-All: all users

-New Users: users added in the last month

-New Web Registrations: users added in the last month by the web registration form

-Low Credits: will list users with credit lower than 3000

 

 

ID: database id. Auto increment

Type: user type

0=enduser (usually a sip user). Operator if isoperator set to 1, power user if set to 2, calling card when set to 6, enduser if 0

1=reseller company (usually a sip reseller)

4=sim,gw or traffic owner  (sim partnerid or gateway parentid show this id)

5=traffic_sender (parentid can be a simowner or a gatewayowner)

6=sales  (parentid is the reseller id)

8=gsmgw,  (parentid is the gatewayowner)

9=sipproxy,  (parentid is the gatewayowner)

10=h323gw,  (parentid is the gatewayowner)

11=isdngw, (parentid is the gatewayowner)

12=sms, fax,email gateway

14=support (can operate with MManage, has ftp account)

15=admin (can see and modify everything)

ParentID:

Logical parent of the user. Checked for routing pattern, max lines, etc.

    if a sipenduser then reseller company

    if  traffic sender, then traffic owner

    if gateway, then gateway owner

    if reseller company, than operator

BillingUserID:

    Where the invoices will be sent. Credit will checked for these users

    If the current type is an end-user, then can have a BillingUserID where we send the invoices. If not set or the same ID as the current, than the bills will be generated to itself. For example in a company, all bills will be sent to the boss (company address), nit the employee

IsBilledUser: set to 1 if this user is not a real service user, but a user who pays for other user. Usually this is a company who pays for its employee.

            Deprecated!

UserGroup: users can call each other only if the user group is the same (default: 0)

usually users with the same parentid (reseller) has common parentid

RingGroup: a list of userid separated by comma (all number will ring when the actual user will be called)

BelongsToCompany: when a company has more then one subscriber. Used for example for short sip numbers.

IsCompany: if the current user actually is a company

RGMode: how to use the ringgroup: 0=forked call, 1=round robin

Name: user first an last –name

Country: sip phone country (important for prefix rules)

ContactName: additional name

UseCallingCard: if has calling card (usable with pin codes)

CanDial: example: for sipuser is 1. for simowners is 0

Phone: user phone number (but not the sip phone)

Email: where the user can be contacted

Address: where the user can be contacted

Billaddress: where to send the invoices

TelNumber: sip telnumber.users can be contacted if we call there username or telnumber

ShortTelnumber: sip short telnumber (for example if several users has the same BelongsToCompany field)

DisplayName: how the user will be displayed. Can be null

Username: the most important field. Used in authentification.

Password: password applicable everywhere (sip, web, VPC, etc)

Ip: sipphone, sipproxy or gsmgateway ip address. The server will overwrite with the last known ip address

AuthIp: if we want to authenticate after ip, not after username/password

NeedAuth:

            -If  NeedAuth is 0, then the system is an open voip relay !!!!

-If  NeedAuth is 1, then AuthIP must match (usually from SIP traffic senders)

-If  NeedAuth is 2, then TechPrefix must match (usually from H323)

-If  NeedAuth is 3, then TechPrefix and IP  must match (usually from H323)

-If  NeedAuth is 4, then user/pwd must match (usually from SIP end-users)

-If  NeedAuth is 5, then username must match

-If  NeedAuth is 6, then AuthIP and Port must match

 

AddDate: when the user has been inserted in the database

Rights: rights on user interfaces

0:  no access

10: cannot login (disabled)

20: can login but no rights

30: a normal user

40: sales

50: admin

60: general admin

AddedBy: the user id who have added this user (sales, web registration, etc)

Commission: used for sales to define their comission percent from the enduser price

Reduction: sales user can give to enduser some percent (substracted from their comission)

LateFee: applicable when the user is late paying the invoice cost

PacketID: billing for users, traffic senders

BillingDay: usually 1 (the first day in every month)

Qualification: the importance for the user. From 0 to 10. for example if the user has big priority, then we route its calls to better routes

Postpaid: if the user will prepaid or postpaid

PaymentMode: Check (0), Bank Tranfer (1), Cash (2), Else (3)

ContractNumber: contract for end-users

Allowedpartners:

Allowed traffic senders for the gateway, or allowed gateways for traffic senders.

A list of user id searated by comma or ‘*’

Note that parent users will be checked too

Enabledprefixes: can be one prefix (with any length) or a list of prefixes with 3,4 or 5 digit separated by comma.

            Can be used for trafic senders and gateways too. No need to setup a separate routing pattern if you use this restriction.

EnabledTechPrefixes: enabled techprefixes for the specified gateway (3 digit length numbers separated by comma)

BlockPrefixes: list of called prefixes that will be blocked for the user (techprefix will not be considered here). Numbers listed here must have 7 digit

length and separated with comma.

ContractState: the status of the contract

            0- Unknown

            1- Not applicable

2 -In Progress

       3 -Active

       4 -Terminated

ContractComment: additional comment for sales

Credit: when postpaid, then we also can set a max amount (which will reset in every month)

Enabled: if disabled, it behaves as if it were deleted

DomainName: sipproxy domain name

Port: signaling port

TransIp: secondary signaling ip

TransPort: secondary signaling port

RouteRtpCaller: routing mode if this endpoint is the caller

0=check called settings –this is the preferred settings

1=don't touch the sdp and the rtp

2=sdp correction if necessary

3=route rtp if both behind nat

4= route rtp if caller is behind nat

5= route rtp if called is behind nat

6= route rtp  if any endpoint is behind nat

7=always route rtp

RouteRtpCalled: routing mode if this endpoint is the called

0=check caller settings

1=don't touch the sdp and the rtp

2=sdp correction if necessary  –this is the preferred settings

3= route rtp if both behind nat

4= route rtp if caller is behind nat

5= route rtp if called is behind nat

6= route rtp if any endpoint is behind nat

7=always route rtp

Rtp settings will be checked first for the called and then the caller (so if the  caller RouteRtpCaller settings is not 0, then it will overwrite the called RouteRtpCalled settings)

RtpIp: last rtp ip

RtpPort: last rtp port

ServerRtpPort: last bind (we try to use the same for every user)

NatDetected:   0= no and don’t change, 1=no but can be changed, 2=yes but can be changed, 3 yes, and don’t change it

NatDetectDisabled: deprecated

Status: 0=inactive,1=registered, 2=speaking (if statusdate is too old, then treat as 0)

StatusDate: last status change

CalledNumber: last called number

CalledID: last called id

Discount1: discount percent. users can have discounts in for max 3 directions

Direction1: prefix. users can have discounts in for max 3 directions

Discount2: discount percent. users can have discounts in for max 3 directions

Direction2: prefix. users can have discounts in for max 3 directions

Discount3: discount percent. users can have discounts in for max 3 directions

Direction3: prefix. users can have discounts in for max 3 directions

TechPrefix:

The server can authorize and/or route the traffic after the incoming techprefix.

Sip users can have techprefixes too. this is usually common for reseller company users.

If no techprefix is specified, then it will be loaded from tb_pxrules if any.

Sim owners and vpc users can have a list of prefixes separated by comma.

If no techprefix is specified, 111 will be inserted for incoming called numbers.

If the techprefix is „-1”, then the original techprefix will be forwarded.

If the techprefix is „-2”, then the original techprefix will be inserted in cdr record (but not forwarded).

If the techprefix is empty, then only the normalized callednumber will be forwarded.

The following techprefixes are reserved for the server: 111,222,999.

Only 3 digit techprefix is allowed. If your traffic sender needs another techprefix length, you must rewrite the incoming number in the “Prefix Rules” form.

            Example: protcoll: sip, Type: ip, value: your traffic sender ip, rewritefrom: oldtechprefix, rewriteto: newtechprefix.

Addtechprefix: we insert this number before the callednumber if the caller don’t send its calls with tech prefix

MaxLines: max concurrent calls allowed

maxlinetouse: deprecated

CurrCallCount: current running calls  (usable for traffic senders)

enablefakegw: if we don’t have capacity, we can route h323 calls to a fake gateway to prevent congestions

candisablesim: if the router will check the disableduntil field from tb_sims

alarmat: we can ring the sipuser if it is set

forwardonbusy: telnumber where we have to forward the calls when busy

forwardonnoanswer:  telnumber where we have to forward the calls when we have no answer

forwardalways: rerouting

voicemail: if we can send messages as email

mincreditonroute: if user has less credit, then we don’t even route the call

regtimeout: reregistration interval for sip proxies

maxsubsfail: we set the „nopriority” field when we reach „maxsubsfail” failed calls

subsfails: successive calls with duration smaller than 20 sec

nopriority: this gateway has lowered priority in the routing until this date

noprioritycount: successive lowered priority countminasr:

minasr: minimum asr before failovering

minacl: minimum acl before failovering

mincallcount: min. Cdr records to calculate minasr and minacl

lastrouted: last call time (applies to caller devices and users or to callers when it is a proxy)

lastcalled: last call time  (applies to called devices and users)

active: applicable for gsm gateways.

display: text to display instead of username

description: important comment

comment: any comment

lastrectime: last status receive from this gsm gateway

realgw: we can have fake voip-gsm gateways

temporarilydisabled: gsmgw is temporarily disabled

onlytestcalls: we allow only calls with techprefix 999

testprefix: we allow only this techprefix

datum: when the user has bee inserted into the database

mustbeactive: if the gsm gateway must be active. Will do actions if this field is 1 and the gateway is not active

notactivecount:  how many time we found that the gw is not active

channelcount: gsm channel count

minline: minimum active lines. If we found less line active, then we do actions

nominlinecount:  :  how many time we found that the gw has not enough line

prioritypartner: this partner will have priority on this gateway

callerpriority: this caller prefix will have priority on this gateway

calledpriority: this called prefix will have priority on this gateway

autopriority: set by server. If the gateway is wrong, then we lower the priority until this time

absolutepriority: if we set it greater then for other gateways, all calls will be routed here, until it is filled, regardless to other routing settings

priority: gateway priority

swversion: gateway sw version

lastrestart: gateway last restart

cutg711: if a better codec exists for the caller (g723 or g729) than PCMU and PCMA will be not offered to the called party

pingtime: deprecated

avgkbitssec: deprecated

maxkbitssec: deprecated

bandwidth: deprecated

restartcount: gsm sw restart count

pcrestartcount: gsm gw (pc) restart count

lasterror: last error message from this gw

lastlog: last log message from this gw

sendonlyrec: where to send sip messages.

0 = received address and the address in the signaling  (via,contact,etc)

1=send only to the source address

2=send only to address specified in the signaling

callsigaddr: h323 port

isfake: we can have fake voip-gsm gateways

forwardearlystart: if we can send media parameters before callstart (OK for INVITE). 2 if check called

changesptoring: if we have to change the session in progress message to ring. . 2 if check called

identityforward: we can toward these kinds of usernames and the other we rewrite to „identityrewrite”

identityrewrite: if the caller username don’t match the identityforward prefix, then we rewrite it

PlayAdv: if we can play advertisements for this user

Maxmonthlycredit: max allowed credit/month even if the user is postpaid (in ft not in filler)

Maxmonthlycreditend: max Maxmonthlycredit  (because we increase Maxmonthlycredit by maxmonthlycreditinc every month if the user was active)

onlylocalaccess: traffic sender traffic will not be forwarded (can call only local users from tb_users and tb_numbers)

Maxmonthlycreditinc: determines how much money we add to Maxmonthlycredit  every month

ContractNumber:

Contact Status:

0-Unknown

1-Not applicable

2-In Progress

3-Active

4-Terminated

Contract comment: any usefully comment for sales here

Noanswertimeout: will redirect if no answer received

Denyaddr: because the server will try to send the sip messages to all possibile addresses, sometime it will missroute. With this setting you can restrict the address posibilities. Check the FAQ for more details.

 

sendfakealert: used for gsm gateways. Specifies the timeout in sec after that the gsm gateway will send an alert to voip even if no ringing have been received from gsm network. Set to 0 or -1 to disable. Gsm gateway settings will overwrite the traffic sender settings if is not set to -1

sendsmsalert: use for support and admin acounts. Will send sms notification to the configured “phone” when a critical error occurs

sendemailalert: use for support and admin acounts. Will send email notification to the configured “email” when a critical error occurs

sendsmsreport: daily sms report for support and admins

senddailyemail: daily email report for support and admins

convertdtmf: applicable for sipproxy users    

-0: DTMF messages will be forwarded as received from client

            -1: INFO and RTP DTMF messages will be converted to InBand

            -2: INFO and RTP DTMF messages will be forwarded and converted to InBand too.

            -9: don’t forward INFO

 

sendmonthlyemail: monthly email report for support and admins

 

Missed by SMS: notify about missed calls by sms. Usually used for endusers

Missed by Email: notify about missed calls by email. Usually used for endusers

 

Can watch sim packets: list of packetid separated by comma, used for VPC access. The actual partner can see this simpackets with his VPC account

Can watch users/devices: list of users and gateways id separated by comma, used for VPC access. The actual partner can see this devices with his VPC account

Access Rights: specify wich fielss are allowed for the user in the VPC application

            0: simcard and traffic sender fields are not shown

            1: simcard related fields are not shown (simid, packetname)

            2: traffic sender related fields are not shown (name, username)

            3: all fields are shown

 

CLI:   CLIR and CLIP settings

            0: forward always   (forward asserted as normal number always!). will not hide, even if caller was set so

            1: normal handling  (forward asserted as normal number)  -default

            2: forward as asserted identity always  (identityrewrite asserted)

            3: forward as asserted identity only to trusted domains (identityrewrite asserted)

            4: normal hide (no idenityrewrite forwarding)

            5: force hide (no asserted identity too!). always hided

IsOperator: specif if the user is a callcenter operator (1) or a normal enduser (0)  or power user (2)

Choosecodecs: list of supported rtp payload formats in priority order separated by comma. Only one will be selected. Don’t set this field to disable

   selecting only one code.

   If set, than only one codec will be left in the sdp (plus the dtmf codecs). This will help, when the server answer to invitation with more than one codec in the 200.

  The client should answer with the final codec in the ACK, but many endpoint fail to do so.

SessionTimer: use session keepalive.

-0: don’t use

-1: load from global config

-2: autodetect (and using the sesskeepalive interval from the global configuration)

-Other: use with the specified timeout  (minutes)

For example if we set it to 5, than a UPDATE or reINVITE will be sent in every 5 minute to the other party. Please note, that the session keepalive is not the same with NAT keepalive (wich is used with every endpoint automatically)

 

 

Default users:

Owner mycompany: template for owner

GsmGw LOCAL_GW: used for advanced gateways. IP=127.0.0.1

GsmGw NOGW: used when no route found. IP=1.2.3.4, isfake=1,realgw=0

GsmGw FBACKUPGW: used to handle traffic exceed. IP=127.0.0.1, callsigaddr=1725,isfake=1,realgw=0

SipProxy: sip2h323: convert signaling form h323 to sip and from sip to h323. TechPrefix=-1,IP: 127.0.0.1?, Port?

TrafficSender: virtserver X: for routing traffic from virtual servers. AuthIPList: 192.168.0.1, TechPrefix=XXX

Enduser: PREDECTIVE_DIALER:  IP: 4.3.2.1,  TechPrefix?, username=cc_callbacknumber

 

The following fileds has direct impact to routing:

Type

ParentID

RingGroup

UserGroup

onlylocalaccess

enabledtechprefixes

accessrights

enabledprefixes

blockprefixes

enabledroutes

RGMode

TechPrefix

forward...

temporarydisabled

onlytestcalls

testprefix

prioritypartner

allowedpartners

callerpriority

calledpriority

absolutepriority

 

4.3.2. Devices

Administarton of Mizu Gateways, Other GSM Gateways, H323 Endpoints, SIP Proxies, ISDN Gateways and other compatible devices.  The fields are the same as for the Users (see above)

 

 

If the actual sipproxy require authentification, then we store the accounts in this table

 

Id: database identifier. Auto increment

Priority: Account priority (accounts will be used in priority order or in round-robin if they have equal priority)

Username: sip username used in authentification

Password: sip password used in authentification

CallerNumber: usually the same as username. If left as blank, then the server use the actual caller username.

Credit: account balance. When it reach 0, then we switch to the next account if any

DateEntered: record insertion date

LastUsed: the date-time when the server was routed some calls with this account

ProxyID: to which proxy the account belongs

Enabled: set to 0 to disable the usage of this account

SubsFails: the number of subsequent wrong calls with this account. If subsfails will reach a predefined value (30 as default), it means that there is some problem with this account or the money/time limit have been expired, and the server will switch to the next account if any

 

4.3.3. Groups

Grouping of several items will ease the administrations tasks. The following type of items can be grouped:

SIM Packets

Users

Gateways

Traffic Senders

 

4.3.4. Ownership

Useful when you have arranged your users in certain hierarchies. For example reseller chain relationship.

Resellers can have an unlimited child-parent relationship (limited by the ”maxresellers” global config options).

To define the relationships we use the tb_users id and parented fields.

 

4.3.5. User authorization

 

 

Registration and authentication

User authentification can be done multiple ways (AuthType field in the user table).

Registration and authorization answers are cached in the Mizu server, so for subsequent requests from the same ip:port doesn’t have to query the database again. This means that if you change the password in the database it may take some time until it is considered.

Mizu server has built-in DOS attach protection. This means (among others) that after a few unsuccessful registration (wrong password) request from a UA, that will be banned for a time. This banned list can be cleared from the server console with the “delbanned” command. Even whole IP ranges can be banned. For example if there are too much meaningless or not authenticated request from an IP address (probably the attacher), than that IP address will be banned for a time period and the incoming messages from that IP will be silently dropped.

 

Users and devices will be allowed to access the system (and create new dialogs) only if they pass basic authorization which can be set from MManage -> Users and Devices -> Edit tab.

For IVR access the server will authenticate the actual enduser based on the A number or will request a PIN code.

 

Basic authorization

Dialog authentication can be performed in the following ways:

-Open Relay: if you set the NeedAuth to 0 for a user, then your server becomes an open relay (this is forbidden by the “enforcestrongauth” global config by default)

-Authentication based on IP address: for this you have to set NeedAuth to 1 and enter the peer IP address in the AuthIp field (can be a list of ip address separated by comma). Instead of IP address you can also use a domain names here.

-Authentication based on tech prefix: this is mainly used in h323 network. Set the NeedAuth to 2 and enter a valid techprefix for the user (which is usually a traffic sender)

-IP and techprefix: NeedAuth must be set to 3. The “TechPrefix” and “AuthIp” fields must be set correctly

-Username/password authentication: usually for your sip endusers. NeedAuth must be set to 4. Username  and password fields must be accordingly

-Authentication based on username: A number authentication. NeedAuth must be set to 5 and with a valid username

-IP and port based authentication: gives you better security than just IP authentication and also it is useful when you have more traffic sender from the same domain. NeedAuth must be set to 6. Port and IP have to be set accordingly. (port is stored in the callsigaddr field in tb_users. You need to edit it if needed)

-Username and IP: both username and ip authmust match

 

*SIP endusers are usually authenticated based on username and password.

*Traffic senders (carriers) are usually authenticated based on IP address.

 

Access numbers

Access numbers are special users. You will have to create them like usual users but their ivrid have to be set to a valid campaign id. (which is then linked with an IVR script)

 

For callback access you also need to set the “iscallback” user field properly. Read the “callback” services for more details.

 

 

 IVR authentication

For IVR calls the server will do a “callingcardauth” global config option based authentication.

Please note that in this case the caller device is already authenticated based on basic authorization settings. The IVR needs to find an enduser to allow further operation, like call forward.

 

The server can authenticate the user based on the following methods:

Ø  ANI/CLI authentication: if the CLI is known and this method is allowed.

A number authentication can be used to try user authentication for a call coming from a traffic sender. If user is found with the actual A number then the caller will be authenticated as the enduser, othervise will be authenticated as traffic sender. In this case you can require a PIN number from the user.

 

Configuration options:

anumberhandling global configuration

·         0=disabled

·         1=only add

·         2= only accept

·         3=add and accept (default)

·         4=only a number access (no pincode request)

enableanumberlookup per user configuration. You need to set it to 1 for traffic senders.

 

A numbers can be also registered by the users on a web interface or by sending an SMS in the proper predefined format.

 

Ø  PIN (calling-card) based authentification:

When the A number is not known or the A number based authentication is disabled, the IVR have to ask the user for a valid PIN code.

This can be done by the CallingCardAuthentication IVR action.

 

After the server collects the DTMF digits it will lookup the database for a valid user entry. The authentication can be based on username, password or username+password  or depending on the “callingcardauth” global  config option which can have the following values:

·         0=calling card username or any user username + password or username + pin (default)

·         1=callingcard username

·         2= callingcard password         

·         3= callingcard username+password

·         4=any username

·         5=any password

·         6=any username+password

·         7=any username+password or username+pin

·         8=username for callingcard and username+password or username+pin for other users  (default)

·         9=pin

·         10=password or pin

 

User rights

User rights can be further restricted by several configuration option.

The most useful tool for this is the routing table. You can define were a certain user or a user group can initiate calls.

 

The following restrictions can be applied per user:

Allowedusers: list of the users or groups (prefixed with 'g') that is allowed to call the user. This can be used to restrict the access to an access number for example.

 

AllowedPartners: comma separated list of allowed partners and traffic senders. ‘*’ will allow all. You may restrict the access on gateway or simpacket level instead of setting it for all simcards separately. Try to use the packet “allowedpartners” setting and leave it as ‘*’ for the simcards!

 

Enabledprefixes: can be one prefix (with any length) or a list of prefixes with 3,4 or 5 digit separated by comma.

            Can be used for trafic senders and gateways too. No need to setup a separate routing pattern if you use this restriction.

EnabledTechPrefixes: enabled techprefixes for the specified gateway (3 digit length numbers separated by comma)

BlockPrefixes: list of called prefixes that will be blocked for the user (techprefix will not be considered here). Numbers listed here must have 7 digit  length and separated with comma.

 

MaxLines: max concurrent calls allowed (separate value for peak or offpeak)

 

Maxmonthlycredit: max allowed credit/month even if the user is postpaid

 

Maxmonthlycreditend: max Maxmonthlycredit  (because we increase Maxmonthlycredit by maxmonthlycreditinc every month if the user was active)

Onlylocalaccess: traffic sender traffic will not be forwarded (can call only local users from tb_users and tb_numbers)

Maxmonthlycreditinc: determines how much money we add to Maxmonthlycredit  every month

 

Access Rights: specify wich fielss are allowed for the user in the VPC application

            0: simcard and traffic sender fields are not shown

            1: simcard related fields are not shown (simid, packetname)

            2: traffic sender related fields are not shown (name, username)

            3: all fields are shown


Global configuration options:

MAXSPEACHLEN:   max allowed call duration in sec

allowedusers: max ring time in sec

callmaxwait: max waittime allowed for operators between calls (for administrative purposes)

enforcestrongauth: enforce authorization and strong passwords

 

Try to avoid prioritizations by users, gateways, simpackets or channels (absolutepriority, priority, allowedpartners, prioritypartners, etc)

Almost all kind of configuration can be set up by using only the “routing” form.

 

 

 

 

 

4.4. Routing

4.4.1. Firewall

The firewall rules are checked first when a call are initiated (SETUP or INVITE received), so this is the most effective way to block some unwanted traffic sender.

All ip address are allowed except those are listed if the ip with ‘*’ is 1.

Otherwise (if the ip ‘*’ is set to 0) all address are blocked except  those that are listed here.

4.4.2. Dial Plans

During the routing process you can modify the caller and called number with the dialplan stored procedure (v_dialplan)

v_dialplan can be called several times during the routing depending on the checkdialplan1-4 global config option.

For CLI and A number rewrite it is enough to set checkdialplan4 to true (after routing) and check/rewrite the numbers using the LIKE operator (wildcards are enabled).

 

Input parameters:

@calledat TINYINT, /*1=first check, 2=after authentication, 3=before routing out, 4=after routing out*/

@protocoll TINYINT, /*0=SIP, 1=H323, 2=GSM, 3=Other*/

@fromip varchar(22), /*caller ip address*/

@fromport SMALLINT, /*caller port*/

@callerid int,  /*caller device database id from tb_users*/

@callernumber varchar(35),  /*caller number or sip username*/

@callername varchar(35),  /*caller name or displayname*/

@calledid INT,  /*called device database id from tb_users*/

@origcallednumber varchar(35),  /*called number as received*/

@techprefix VARCHAR(10),  /*called number tech prefix*/

@normcallednumber varchar(35)  /*normalized (changed) called number*/

 

Some of the input values are not set at earlier stage. For example when calledat is 1 then the callerid will be 0 because the caller is still not know at this stage.

 

Usualy only the called number have to be rewritten, but you can also change other values.

Accepted output values:

  -emty string: no effect

  -_REJECT: will disconnect the call

  -callednumber: will change the called number

  -callednumber,origcallednumber,techprefix,callernumber,callerid,calledid

 

sql help:

  sql tutorial: http://www.w3schools.com/SQL/sql_intro.asp

  stored procedures: http://msdn.microsoft.com/en-us/library/aa174792(SQL.80).aspx

  string functions: http://msdn.microsoft.com/en-us/library/aa258891(SQL.80).aspx

  like operator: http://msdn.microsoft.com/en-us/library/aa933232(SQL.80).aspx

 

example:

    DECLARE @ret_callernumber varchar(35)

       DECLARE @ret_callednumber varchar(35)

 

       SET @ret_callernumber = @callernumber

       SET @ret_callednumber = @normcallednumber

      

       IF (@calledid = 456 and @ret_callednumber LIKE '1_23%')

       BEGIN

              SELECT '_REJECT'

              RETURN 1

       END

 

       IF (@calledid = 457 AND (LEN(@ret_callednumber) < 5 OR ISNUMERIC(@ret_callednumber) = 0))

       BEGIN

              SET @ret_callednumber = '1234567'

       END

 

       IF (LEN(@ret_callednumber) > 6 AND LEFT(@ret_callednumber,3) = '061')

       BEGIN

              SET @ret_callednumber = '36'+SUBSTRING(@ret_callednumber,3,35)

       END

 

       IF (@ret_callednumber LIKE '5222%')

       BEGIN

          SET @ret_callednumber = SUBSTRING(@ret_callednumber,5,35)

       END

 

       SELECT @ret_callednumber +','+@ret_callednumber+',,'+@ret_callernumber 

       RETURN 1

 

If the stored procedure doesn’t run successfully, then it will have no effect.

4.4.3. Prefix Rules

You can rewrite prefixes before they arrive to the routing by entering your preferences here.

The Mizu routing engine will accept only 3 digit length techprefixes or no thechprefix, so you must convert them here if your traffic sender will send the traffic with techprefix that are not three digit length.

 

For example you can set up a rule which defines that every incoming number from ip 111.111.111.111 on H323 if begins with 1234 must be rewritten to begin with 56.  Number 123499999 will  be rewritten to 5699999.

If the “RewriteFrom” is emtly, then the “RewriteTo” fill be insterted before the number

 

Prefix Rules have been deprecated by dial plans which offers better flexibility.

4.4.4. Blacklisted

List the blacklisted numbers on the selected time interval and direction.

This query will generate high server load. Use it only in off-peak time if possible

4.4.5. Access Lists

You can define the “Blacklist” and the “Whitelist” here. The listing will be appreciated in the routing depending of the actual packet “filtering” setting. Check section 4.5.1 for details regarding  filtering.

 

Blacklist fields:

-telnumber: country code + operator + telnum

-sure: levels

 

tb_blacklist.sure:

0 –probably good numbers (reput)

1 - not sure (holes)

2 - probably wrong number (monthly autodisabled)

3 - very sure (roaming numbers)

6 – always block (not only to gsm)

 

filtering:  determines how we check the blacklist and the known numbers

0  -no filtering

1 - filter if very sure blacklisted (tb_blacklist.sure >=3)

2 - filter if probably blacklisted (tb_blacklist.sure > =2)

3 –filter  if suspicious (tb_blacklist.sure > =1)

4 - filter if present in blacklist (any tb_blacklist.sure)

5 - filter if not a known number

6 - filter out if no sure known number

 

4.4.6. Routing

For every time period and direction a “Routing Pattern” needs to be defined. Every Routing pattern has a list of routing directories which may be Mizu GSM Gateteways, other H323 gateways or gatekeepers, ISDN gateways or SIP proxies in priority order. Set up as much directories with the same priority order as possible so the routing engine can prioritize itself after other settings (device priority, LCR, quality,BRS)

Generic rules can be defined by setting the pattern priority lower. For example for every call that doesn’t have a specific route can be routed to a specific direction (otherwise is dropped)

There is a list of typical time definition. If none of them mach your needs, the “Start-End Time” entry can be selected to specify proprietary intervals.

In Caller Prefix, you can place only one prefix.

Tech prefix can be empty string, asterisk (*) or 3 digit length number.

Called prefix can be one prefix (with any length) or a list of prefixes with 3 or 4 digit separated by comma.

 

 

 

*Tip: you don’t need to enforce traffic sender rights by routing. The routing can be done as generic as possible for example by specifying only Called Prefixes (Leave the other direction option blank or ‘*’). Rights can be enforced by setting “Enabled Prefixes” for all Traffic Senders

 

Routing Configurations

Try to set up all routing rules and prioritizations using this form.

Try to avoid prioritizations by gateways, simpackets or channels (absolutepriority, priority, allowedpartners, prioritypartners, etc)

Almost all kind of configuration can be set up by using only the “routing” form

 

The actual priority order of your route list (right side list) will be affected by numerous factor:

-Failowering: when a device or a device/direction is in failowered state, then it’s priority is lowered

-Load balancing: will prioritze the direction where the last routed date time is oldest (only if the routing entries are entered with the same priority)

-LCR: the route with the lowest pricr will be prioritized

-BRS: the best quality/lower price route will be prioritized

 

These settings can be controlled by the “brs_lcr” global config option:

0=not used

1=only lcr for not gsm

2=lcr

3=brs for not gsm

4=BRS (default)

5=BRS+LCR

4.4.7. Routing workflow

 

Introduction

The routing in the Mizu sofswitch means deciding on which active gateway, user or gsm channel should we route the incoming call from traffic senders and endusers.

The routing is influenced mainly by the following:

-device ownership and access rights (allowedpartner settings)

-routing time, direction and the selected pattern (device/packet priority list)

-various priority settings

 

The routing is blocked if the following conditions are met:

General conditions

syntax error in incoming number (or not known)

max call/day, max speachlength reached (licensing option)

 

Caller user check

the traffic sender reached their maximum channels

aller gateway, simcard or simpacket is not enabled or temporarily disabled

failed authorization (wrong originating ip, bad username or password or wrong techprefix)

Caller “CanDial” setting is set to false

Caller tb_users.enabledprefixes not match (‘*’ allow all numbers)

Check if other traffic sender has the same ip/techprefix (caller mismatch)

 

Routing

direction and time don’t match a routing pattern

no active device or simpacket from the selected pattern priority list

 

Called device/gateway checks

Called gateway(s) is not enabled, not active, temporaydisabled, allowedpartners don’t match or any other problem

Called gateway onlytestcalls not match

Called gateway enabledprefixes not match (‘*’ allow all numbers)

Called gateway blockprefixes match

Called device filtering option doesn’t allow blacklisted number level (if the incoming number is blacklisted)

gateway has testprefix but does not match

 

Called simpacket check  (only for gsm directions)

Packet is not enabled

Caller is not listed in allowedpartners

packets.waitaftercall second not elapsed since last call

packets.filtering. blacklist/whitelist restriction (filtering option doesn’t allow blacklisted number level (if the incoming number is blacklisted))

 

Simcard check  (only for gsm directions)

Called simcard(s) is not enabled, temporaydisabled, not ready, allowedpartners don’t match or any other problem

partner is not allowed on the simcard (allowedpartners)

the simcard is prepaid, but it doesn’t have enough credit

two subsequent calls cannot be routed to the same simcards (configurable)

there was a credit request or recharge in the simcard in the last minute

cannot request credit from prepaid card more than 5 times

maxmonthlyminutes,maxdailyminutes,maxallminutes, maxmonthlyminutespeak are reached

no report from the channel for more than 5 minutes (the gateway may have lost its network connection or power)

 

Routing priority order

If emergency number, than the defined emergency route has the biggest priority

Routing pattern priority (if two or more pattern overlap)

Routing pattern direction/time best match (if two or more pattern overlap)

Called gateway Globalabsolutepriority

Called gateway and simcard absolutepriority

Positive routing priority (deprioritze simpackets with negative routing priority -these are “emergency packets”)

SimPacket absolute priority partner (absprioritypartner  -if set and if match the caller)

Simcard caller priority (absprioritypartner  -if set and if match the caller)

Gateway absolute priority

Gateway called priority (if set and if match the caller)

Simcard absolute priority

Routing list  priority/100 (differences more than 100 in priority list)

Called gateway is not failowered -value lower or higher than the current date-time (for automatic failovering)

Called gateway is not failowered for the currenct called prefix (direction)

Simcard is not failowered - value lower or higher than the current date-time (for automatic failovering)

SimPacket is not failowered

Tpercek priority (hungarian tmobile specific)

Routing list  priority

Elapsed time from last call disconnect is more than 10 sec

Gateway callerpriority match the caller number

Gateway prioritypartner match

Simcard priority partner match

SimPacket nopriority partner not match

SimPacket priority partner match

Gateway priority (simple)

Simcard priority (simple)

Simcard minimum monthly speechlength  not reached

Simcard minimum daily speechlength  not reached

Simcard desired monthly speechlength  not reached

Simcard desired daily speechlength  not reached

Simcard todayspeachlength desc order (simcards with more callduration has lower priority)

Simcard thismonthcallcount desc order (simcards with more callcount has lower priority)

Simcard thismonthspeachlength desc order (simcards with more callduration has lower priority)

Simcard a.creditrequestfails desc order (simcards with more failed credit requests with lower priority)

Gateway ready channels (balance calls across gateways)

Last call begin on the simcard  (balance calls across simcards -simcards with the most recent calls has lower priority)

Simcard currspeachlen desc

Simcard GSM Fieldstrength

Simcard lastrectime (for randomizations)

 

 

Technical description:
Call arrive from traffic sender or enduser via SIP or H323

Check if MAXCCALS restriction reached (licensing option). Drop if yes.

Check if maxslperdayreached reached. Drop if yes.

Check if maxroutereqpermin reached. Drop if yes.

Check if the current call is a routing retry (forked calls). Drop if too much retry

Normalize caller ip addres

Check if the call was from the local SIP2H323 module. Return with the already prepared target if yes

Chech if the call was arrived from GSM gateway. (callin option).  Replace caller and called after the config.

Correct  the called number string if it is corrupt.

Check min/max length of the called number

Check if the incoming call is a testcall. Set the testcall flag is yes

Check and apply prefix roules (tb_pxrules – rewriting the called number)

Authenticate the caller (after username/password, ip pr techprefix). Drop the call with “no such user” reason on fail

Add techprefix if needed

Setup sip parameters if the call was arrived from sip

Normalize called number (check prefix, area code, etc). Drop if wrong number

Check if subsecvent wrong call

Check if the caller exceed its max line restriction

Check blacklist and whitelist

Check the embedded firewall

Check if caller called itself

check if called if a sipuser (Username, telnumber, short telnumber)

check the forwardalways option

check the ringgroup option

setup called endpoint if found

get time variables (peak, holiday, etc)

Get the correct routing pattern

Check routing list in priority order

If simpacket found, than Check simrouting

Drop the call if no route found

 

4.4.8. RADIUS

Define the radius servers, protocol and login information here. Used for authorization and billing.

4.4.9. BRS

Short name for “Best Route Selection”.

In addition to LCR (Least Cost Routing), the Mizu routing engine can take in consideration the quality of the route.

If you would like only LCR, simply set the “Quality Percent” field to 0.

 

If we put some directions with equal priority in the pattern, then the system will choose the routing automatically depending on price and quality, when other settings don't modify the routing (min/max minutes, gw/sim priorities, failovered directions, etc)

 

The server automatically calculates am  „autopriority” on every route. This priority is the combination of the quality and the price. The quality is calculated as an average of daily asr/acl and monthly asr/acl. The price is calculated to pricecalcsec seconds with the given minammount and billingstep (from packet prices). The server route the traffic on the higher priority direction, BUT it will try the other routes periodically (to check if quality have changed). You can change this „next time try” setting by changing the values of  TryedCount,NextTry, NextTryCount. If the best quality gateway for a route will change, then we will reset TryedCount,NextTry and NextTryCount values to there defaults. (so we can recheck quicker)

 

 

Fields have the following meanings:

-Id: database identifier. Auto increment

-Gateway: gateway id (called)

-Direction: called prefix

-QualityPercent: how much  the quality will contribute to the final result. If price is very important for us, set this value lower. Default is 50%

-Accuracy: how accurate the final result will be. If we set it too high, then we probably will have only one route as the best. If we set it too low then too little discrimination will be made between routes. So,  the final result (AutoPriority) will be lowered only if we have too wrong acl, asr or price.

Default is 30%. This default means that the AutoPriority will change only if price will change with 2-3 ft or asr will change with at least 15% (considering asr between 10 and 80, price between 0 and 40 and QualityPercent as 50%)

-ARSDay: last day ARS (automatically calculated every day)

-ACLDay:  last day ACL (automatically calculated every day)

-ARSMonth: last month ARS (automatically calculated every month in the last day)

-ACLMonth: last month ACL (automatically calculated every month in the last day)

-MinASR, MaxASR, MinACL,MaxACL: when asr or acl reach the min value, then the line is considered very wrong. When it reaches the max values, then the line is considered very good. Must be configured manually for every direction, because the statistics will change dramatically by country

-MinPrice, MaxPrice:  min-max prices/minute. set it to a very wrong price to that direction and the max value to a very good one. Calculate it with consideration to billing step and min minutes (so you must fill in as 1/1 price)

-PriceCalcSec: we estimate the price values with this value to get a gross value

-TryedCount: how much time we have tried this alternative route until now. Helps us the decide how to increment NextTry. It will grow only until 7

-NextTry: we will route calls to this route beginning with this date. Will grow exponentially until 1 month.

-NextTryCount: we will route NextTryCount calls on this route next time. ( > CurrTryCount)

-CurrTryCount: counter to know how many times we have routed in this direction

-AutoPriority: the current priority calculated from these values and from the price settings (the result)

 

To see how much a parameter change will modify the final AutoPriority value, you can find a demo named AutoPriorityDemo in MManage, Tools menu. Before changing any value in the BSR table, please play a little  with this demo.

4.4.10. Failovering

Mizu server and gateway will make automating failovering between sim channels, sim packets and gateways. The rules can be defined using this form.

You can check the route status also from here.

 

ID: database id. Auto increment

GatewayID: called gateway or sipproxy

Direction: called direction (prefix)

MaxSubsFail: if we get more wrong calls than MaxSubsFail we failover to the next route if any

MinASR: if we get more lower ASR than MinASR we failover to the next route if any

MinACL: if we get more lower ACL than MinACL we failover to the next route if any

MinCallCount: we calculate ASR and ACL statistics only if we have MinCallCount cdr

SubsFails: current subsequent wrong calls detected

NoPriority: We have done a failover until this date. When the time elapses, we try this route again. This will grow exponentially.

NoPriorityCount: we have failovered NoPriorityCount until now because of SubsFails. The bigger is     NoPriorityCount, the longer we do the deprioritization (NoPriority)

NoPriorityCountD: : we have failovered NoPriorityCount until now because of statistics

Manual: all routes will be added automatically to failover table with a minimum of quality requirements

Enabled: failovering enabled

Datum: record insertion or last modification date

Comment: why was the record modified last time (reason)

4.4.11. SIM Channel reservation by caller protocol

Best quality (ASR and ACD)  SIM channels can be reserved for sip or h323 originated calls.

In the sim table the reserverfor field can have the following values:

0=cannotreserve: this channel will not be reserved

1=sip: always reserver only for SIP (manually assigned)

2=h323: always reserver only for H323 (manually assigned)

3=ISDN: always reserver only for ISDN (manually assigned)

4=dynamic: can be allocated by the server dinamically (hourly check)  -this is the default value

5=sipdynamic: allocated automatically for SIP

6=h323dynamic: allocated automatically for H323

7= ISDNdynamic: allocated automatically for ISDN

 

For every simpacket you can restrict the maximum allowed reservations by the maxalloc field. (usefull to not reserver all channel from the same simpacket)

To setup the channel reservation use the following configuration values (mserver, simplatform config):

-reserveforh323: reserve capacity for h323. reservations will be disabled if less than 1

-reserveforsip: reserve capacity for sip . reservations will be disabled if less than 1

 

By exmaple if you set the reserveforsip field to 5, you can be sure that 5 channels always remain free to be used by calls received with SIP protocoll (H323 originated calls didn’t consume all your channels)

4.4.12. Number portability database

If the portednumber table is populated, the server will change the original caller number prefix to the new opertator prefix, and will route the call accordingly.

You can set the ported numbers form the MManage “Number Portabilty” form or you can automate the process by programmatically changing the tb_portednumbers database table.

 

You can control the server number portability handling by the “checknumport” global configuration:

0=not check

1=check for changed prefix

2=check for changed number

3=check for changed domain

4=check all

The fwdtootherdomains must have to be set to at least 1 for domain routing to have effect.

 

tb_portednumbers:

id: autoincrement database primary key

number: original (normalized) called (B) number

providerpx: new prefix (for example instead of 3630 changed to 3620)

newnumber: the changed number

newdomain: the new service provider ip or domain

newport: service port (defaults to 5060)

priority: checked for duplicate numbers

datum: record insertion date

 

You must have the providerpx OR newnumber OR newdomain: newport  specified.

If the newnumber is set, than the providerpx has no effect.

 

4.5. Billing

Mizu Servers and Gateways has built-in prepaid and postpaid billing.

The pricing must be set from MManage –Prices Settings form

You can list and compare the prices for different directions in the Price List.

The Billing and Invoice generation are done from the “Billing” form.

The Billing module conforms to the Hungarian laws and can be modified to fit for other contries.

4.5.1. Price Settings

Pricing of the CDR records are done after the prices defined on this form.

You can define “Price Groups”. All price settings that belong together after some logic (enduser prices for example). This is located in the left side of the Prices form.

Invoices can be generated automatically by the server and send by email, or can be loaded manually by using the “Billing” form.

You can schedule when to send the invoice or report to the partner or for you (defined by the mailto entry)

The report format can be defined by “Invoice Type” and “Group by” fields.

 

Below a “Price Group” you can have several Price Setups named “Directions” or “Packets” (the middle column in the form)

For example “Traffic from MizuTech SRL” or “Traffic to T-Mobile direction”

Here you have to set up the actual prices. The price setup is further divided into different prefixes (the right side of the form -Pricelist), because it is very common that you have lots of directions in a provider pricelist.

 

An alternative method to assign a price list to a user is by using the “Users and devices” from -> “Billing” tab -> “Billing packet” seting. This will always take precedence over the packets set in the “Price Settings” middle column. This is used to simplify the pricelist assignment for users by resellers.

 

Field descriptions:

Title: the name of the invoice group

Schedule: how often the report will be generated
DueIn: allowed time for payment in day (used only if the report is an invoice)

Status: billing status

Invoice Type: specifies the format of the invoice

Group By: specifies the format of the invoice

Separate by caller: every caller will receive a separate invoice (used for billing to end-users)

MailTo: list of email address where to send the generated report

Last Invoice Sent: date-time when the invoice was emailed to the recipient

Last Payment Received: date-time when the payment was received

Direction name: name of the billing entry

Type:  specify the type of the price. For exampe the prices used when billing to endusers, or our minute costs to service provicers.

Price culations will be saved directly in the CDRs, thus can be used in prepaid billing. In the CDR records, the following fields are used for price calculation:

-costprovider: used to calculating the minute price thay needs to paid to service provider (Tmobile for example)

-costenduser: used for billing to our endusers (sip endusers, traffic senders)

-costcompany: can be used for profit calculations

-costsales: sales comission. If not set, than will be calculated by the comission value in users settings

-costother: can be used for any custom price calculation

Action: How to handle the calculated price in reporting. For example in “profit” calculations whe have expenses (prices payd for service providers) and incomings (from our endusers). Thus we can simply substarct the expenses from the incomings to get the “profit”

Billing Steps: provider specific billing interval in sec

Min. Amount: the minimum payable duration in sec

Free Amount: you may have packets when the first X second is free

Free After: you may have packets when after X seconds the conversation is free

Currency: different providers may have different currency. Used for billing.

VAT Included: if the pricelist applied for this user is with VAT included. Set to 0 if VAT is not included. Used for billing.

VAT Value: the ammount of VAT applied for the pricelist. Will have effect only if “VAT Included” is checked

Convert to NET value: if you have defined the pricelist with included VAT, you should check this option, othervise you overcomplicate the billing process. Thus the VAT value will be substracted from the price, and you will have NET values in CDR records  (try to use net values whenever possible). If you need to generate invoice, make sure that all your prices are set without VAT (net) or you have checked the “Convert to NET value” checkbox.

Convert to HUF: if you have defined the pricelist in other currency than the native (configurations->currency), than your prices will be automatically converted to native currency in CDR records.

Reseller: price created by resellers. Usually should be changed only by resellers (from web portal)

A leg grace: used for IVR billing. If the user will spend too much time using the IVR.

Traffic Direction: here you have to define the rules when the current pricing will be applied

Usually only one field needs to be specified here (for example all traffic from MizuTech SRL -caller)

The caller field will check the caller parent also, but the called field will not check the parent.

These directions will be checked in priority order on routing and billing

 

ValidSince, ValidUntill: the pricelist may be applied only after a specified date-time

Prefix: called number prefix (this will be loaded after “best fit”). Set to ‘*’ to be applied to all directions

Price: the actual price

CPrice:  the price converted in your currency (“currency” entry in the Configuration form and converted after the values specified in the “Currency Converter” form)

Time Definitions: the time period when this rule is applied

Diff between enduserprice and providerprice means that price will be calculated by extracting the provider cost from the enduser cost for an already existing cdr record. Cannot be used for realtime (prepaid) price calculations. Usually used when calculating “profit” values.

 

By clicking on the “Clone” button, you can easily duplicate a price list (it is very usefull when you have to add only a few modification to a long pricelist)

The Billing button is a shortcut to the billing form (does not make the billing automatically)

 

Importing price definitions from file are done by clicking on the “Import from file” button.If you use the “default peak time definition”, the peak settings will be loaded from the global configuration (peaktimebegin and peaktimeend values). If this is not suitable (different service providers may calculate with different peak-offpeak definitions), you can set up the peak time definition manually (start – end hour).

The imported file must have four comma separated field: prefix (direction definition), flat price, peak price and offpeak price. If you use flat price, than leave the peak and offpeak price fields emty and vice-versa.

The easiest way to generate such files is to use Excel, fill the first four columns with these values and save as CVS file. (Don’t leave emty coloumns before the columns with data)

Importing price files may take some time, depending from your network connection speed.

4.5.2. Price List

On the List tab you can list all prices for a packet (by using the “Packet” list box) or to a direction (by entering a direction name or a prefix to the filter box)

On the Least Cost tab you can compare the prices from different service providers.

The Reference Packet usually is the price for your end-users.

Only peak (max) prices are compared for every direction.

On the Directory Check tab, lookups from the directory table are possible ( directory name – prefix match).

4.5.3. Billing

The server automatically calculates the price field for every incoming CDR record, based on price settings ( Section 4.5.1)

The following prices are calculated:

-enduser cost: used for invoicing for costumers

-provider cost: cost that needs to be payed for service operators

-sales cost: sales comission. If not defined in price setup, than will be loaded from users settings (“comission”) if any

-company cost: usually used for profit calculations

-other cost: for any other purpose

 

Billing can be done from

1. the “Users and Devices” form, Billing tab, by clicking on the “Generate &Invoice or Report” button (billing for the actual user)

2. set up required directions and click on the “Billing” form (in this manner, billing reports can be generated for more users)

 

The billing process will always take in consideration the selected date interval.

 

Billing form:

1. On the Customized Billing tab after selecting the required date-time interval and direction, the prices are calculated after predefined parameters (price/minute, billingstep). So you can do simple calculations using this form.

2. The CDR Prices tab will load the “enduser cost” and “provider cost” directly from cdr records (already calculated after realtime price settings)

3. Generating Reports and Invoices tab

Used for billing and reporting.

Fields explanations:

Provider: you must select the invoice emmitent here. By clicking on the “…” button, you can customize the company invoicing details.

Delete old invoices: if checked, than will clear the invoice files directory before saving the new ones.

Include inactive users: uncheck this checkbox, if you don’t want to generate reports (invoices) for inactive users (inactive for the selected period)

Include child users: for example you can select a Reseller as direction source, and all “child” users will be included in billing (where the parent id will point to that reseller)

Include CDR records: include call detail records in appendix

Language: language of the invoice

Grouping: you can select any grouping options to be generated as appendix for the report

Price values: select the price field from the CDR record after wich the billing are done.

Reporting: you can automatically save the generated reports or invoices to file, or open it one by one (you can decide what to do for every report -save, print or just preview)

Format: file format (text, pdf) or printig

Real Invoice: if you would like only a quick report for the selected user(s), you can do it by setting this option to “Don't generate real invoices”. If you choose to generate real invoices, than it will take special processing for it (required for bookeeping)

If you have selected a reseller, you should choose the “For Resellers” option. In this manner a real invoice only for the reseller company is generated. (A report will be generated for all child endusers, but those report are skipped from the bookeeping)

Invoice Comment: any comment here. This will not be shown on the report

Money Precision: how many floating point digit would you like in money fields.

Completion date: defaults to the end of filling period if not modified

Method of payment: can be specified here, or loaded from user setting.

 

By clicking on the “&Generate report for the selected directions” button, you can generate the actual invoice(s)

4. Invoices and Payments

The invoice records for the selected user(s) are in this form. You can watch the debt for every user by checking the topmost record debt value.

By right clicking on a invoice record a menu will appear. From

5. You can change the price settings whenever you want, but don’t forgot to Rebill your CDR records after the new settings. All CDR prices will be recalculated for the selected time interval and direction. Users and simcards credits will NOT be modified by rebilling!

6. Individual invoice

On this tab you can create invoices manually (not automatically generated from cdr records)

 

Note: prior to generate pdf report you should configure the installed print to pdf driver to save automatically in the specified directory. The defult pdf printer can be configuted in the MManage menu on the Settings-> Options from. The “pdfcreator” driver is included in the MManage install package.

For printig jobs, the default configured  printer will be used.

 

The automatic prepaid credit expirity can be configured with the following settings:

Creditunit: how many credit means 1 day

Creditelapseunit: prepaid credits will be elapsed automatically after this period is elpased. Creditelapseunit means the credit ammount for 1 day. For example if you set it to 40 and the user will buy 5000 ft credit, than it will ellapse after 4 month

Maxcreditelapsedays: max number of days when the credit will elapse
Accelapsedays: the number of days from creditelapsedt when the account will expire
(account number will be suffixed with _elps ans set to temporarydisabled)

tb_users. Creditelapsedt: date-time when the credit will be expired

tb_users.Accelapsedt: date-time when the account will be expired

*You can set prepaid credit by the “Add with elapse” button to elapse automatically.

Monthly payments can be set for users by completing the tb_fees table.  Can be accessed from  the Users Form -> Billing tab.

The following fields are defined:

Userid: the user where the payment belongs

Datum: record insertion date

Name: the title of the payment

Value: net price

Usable: can be calculated in minute price (1 if yes, default is 0)

Ival:

            -1: one time

0: monthly as soon as possible

Other: interwal in days

Lastbilled: last time when the it was invoiced

Description: any comment here

4.5.4. Currency Conversion

You can set curency in 3 places:

  1. -native currency in the global configuration “currency”

This will be the default currency for all internal operations

  1. -currency for pricelist packet

When you receive pricelist in other currency, with this setting you can easily convert it to your native currency

  1. -currency for the individual users

Useful when you need to send invoices in different currency format.

 

The price in the cdr record will be set based on the “currencyconversion” global configuration value which has the following possibilities: 1=native currency, 2=pricelist currency, 3=user currency if match, 4=user currency

 

The most easy and simply way is to set the same currency in all places.

Othervise you must refresh time to time your currency converter table.

 

Currency converter

Defines the conversion between your native currency and other currencies used in price settings. You should update this conversion prices as many times as possible.

 

Currency precizion

You can control the money precizion display by the tb_currency_precizion table accessibile from Billing -> “Money Precizion”

            Id: database autoincrement primary key

            Currency: name of the actual currency (for example: HUF, USD, EUR)

            Precizion: number of fractioan digits on the invoices

            Final Precizion: the precizion of the “Total Payment” display

            Final Rounding: rounding in the “Total Payment” (ex: 1 or 5 ft)

            Separator: usually ‘.’ or ‘,’      

4.5.5. Finances

You can use this form for your cash flow administration regarding your voip business. (Other simple alternative is Excel :)

4.5.6. Pin codes

Recharge codes used if you have prepaid cards printed.

You can generate random prepaid codes here.

 

Prepaid acount can be charged over the website or by ivr:

Website operation:

-user authentication (tb_users.username and password)

-check if pincard is valid (tb_prepaidcodes)

-increase credit for the user (tb_users.credit)

IVR operation:

-automatic user authentication based on sip registarion or require to enter the phone number to be charged

-require pincode

-check if pincard is valid (tb_prepaidcodes)

-increase credit for the user (tb_users.credit)

-goodby message

4.5.7. The billing process

Every cdr record are handled by the billing module. Prices are determined by the v_getprice stored parameters.

v_getprice parameters: 

@type  tinyint: type of the billing. 1=enduser cost, 2= provider cost, 3=sales cost, 4 = company profit, 5 = other cost

@callednorm varchar(26): normalized callednumber. example: 36301111111 (B number)

@callerid int: database id of the caller user

@callernum varchar(26): caller number (A number)

@techprefix varchar(4): 3 digit tech prefix if exists

@calledid int: database id of the called user

@calledpacket int: simpacket if exists

@timetype1  tinyint: time period

@timetype2  tinyint: time period

@timetype3  tinyint: time period

@timetype4  tinyint: time period

@currday smallint: weekday number (Monday is 1)

@currhour smallint: call midtime hour

@currmin smallint: call midtime minute

@parentid int = 1: database id for the parent of the caller user

 

timetypes are considered when you doesn’t set a concrete start-end period in the price list, and you choose from a predefined pattern (peak, offpeak, weekend, weekday, holiday,evening, night). the following timetypes are defined:

0: Disabled

1: Start-End Time

2: Peak

3: Offpeak

4: Weekday

5: Weekend

6: Offpeak and weekend

7: Evening

8: Night

9: Holiday

10: All times

11: Other Times (Rest)

example: v_getprice '1','36301234567',6555,'003615555555','150',666,-1,4,2,99,99,4,11,41,500

 

The v_getprice stored procedure will return the following fields: tb_billentries.currency,tb_billingtimes.isdiff,tb_billingtimes.origprice,tb_billingtimes.price, tb_billentries.billingstep, tb_billentries.minammount,tb_billentries.freeammount,tb_billentries.freeafter,tb_billentries.vatincluded, tb_billentries.vatvalue, tb_billentries.converttonative,tb_billentries.converttovat

 

According to returned billing settings, the price is calculated accordingly.

 

If there are no price defined, than default price are loaded. (if set)

If there are no sales price defined, than will be loaded from user setting (comission)

For enduser prices, the discounts and userreductions are applied if set so. Then the user credit is updated.

If there are any error with the billing process, than the default prices are applied if exists.

 

Billing verification:

List the required CDR records with “Show minute price option”

You can find the billing logs if you search for the called number in the server logs.

Copy the required v_getprice log in the direct query form.

Check if the returned values are as expected.

 

4.5.8. Invoice and payment storage

Invoices and payments are stored in tb_invoices in the database. So the invoices can be searched, recreated and storno invoice can be built based on existing invoices (conforming to Hungarian laws).

The last invoice number are loaded from database before every new invoice and incremented. Thus the invoice number increment is guaranteed the by database engine transactional behavior.

 

The following fields are defined:

ID: autoincrement database primary key

Type:

0=All or Recreate (technical)

1=Report

2=Proform

3=Advance

4=Invoice

5= CreditNote

6=Storno

7=Correction

8=Payment (technical: payment received)

 

Copynum: printed copies

CompanyID: emmitent company ID (tb_billsources)

UserID: costumer ID from tb_users (if any)

User_name: costumer name or company name

User_address: costumer address

User_regnum: costumer registration number

User_euregnum: costumer eu registration number

User_bank: consumer bankdetails (cont and address)

Payment_type: mode of the payment (Ex: bank-transfer)

Datum: record date-time

Invoicenum: the number of the invoice

Invoiceid: deprecated

Invoicefrom: billing period begin time

Invoiceuntill: billing period endtime

Invoicegenerated: invoice print time (optional)

Invoicesent: invoice sent time (optional)

Completitiondate:  completition date

Duedate: payment due date

Language: invoice language

Vat: VAT percent

VatValue: sum of VAT

InvoicePrice_Net: final net price

InvoicePrice: final price

PaymentReceived: date-time of the payment

Debt: sum of all debt

Pending: all sum before due date

Comment: invoice comment

InvoiceImage: saved ivoice file

 

tb_invoice_entries:

Id: autoincrement database primary key

Invoiceid: foreign key to tb_invoices

datum: record insert date

description: product description with code

fromdate: billing period if applied

todate: billing period if applied

Ammount: ammount

AmmountName: name of the amount (minute)

AmmountPrice: unit price (net)

 

 

The emmitent (company) settings are stored in the tb_providers table. Only one company entry can be stored (conform to Hungarian laws). Once the company details are inserted to the database, the company name annot be changed anymore.

 

4.5.9. Enviroment variables

Creditelapseunit: prepaid credits will be elapsed automatically after this period is elpased. Creditelapseunit means the credit ammount for 1 day. For example if you set it to 40 and the user will buy 5000 ft credit, than it will ellapse after 4 month

Currency: the currency type is loaded from the “currency” global configuration or from the billed user currency setting.

The price setup currency settings also can affect the currency settings.

Currency conversions: if the pricelist is not in the native currency format (set by the “currency” global config option), than the server can convert to it automatically based on tb_currencies. You can change the conversion rates from MManage -> Billing -> Currency converter

Language: the invoice language can be controlled from the invoice form.

PDF Printer and delay: set this on MManage -> Menu-> Options

Time format: if to separe duration values to day/hour/min/sec or display only in seconds. (MManage -> Menu-> Options)

Money precision and rounding and separator are stored in the tb_currency_precizion table, accessible from the Billing form.

MINSPEACHLENONROUTE: the minimum calculated max speechlength when the call will be routed

 

4.5.10. Payments

There are various built-in prepaid and postpaid payment method implemented. Payments are tracked in the tb_invoices table and can be queried later for statistics and reports (Billing -> Reports form)

All credit changes for prepaid users should be logged in this user. Never modify the credit directly. Use the “Modify” button from Users and device -> Billing page if direct modification is required.

Invoices for postpaid user can be generated from the Billing -> Invoices

Chargecards can be generated from Billing -> Pincodes

CallingCards:

There is a special user type called “callingcards” but any usual user can act as a calling card.

Users can access the system via Web or IVR typing a pincode. The pincode will represent the “pincode” column  from the user table or the username+password combination for enduser or only the username field for callin cards.

PayPal: direct or indirect handling of PayPal payments are supported on request.

Your users are allowd to use e-payment and to pay directly with their credit card. Most of the available merchant gateways are supported.

 Credit Card and eCheck processing support for every major Internet Payment Gateway using secure data communications using up to 128-bit SSL encryption and Digital Certificates.

The Credit Card validity checks decrease expenses that result from attempting to authorize invalid credit cards.

 

The current list of supported payment gateways include:

3DSI EC-Linx

www.3dsi.com

ACH Payments

www.ach-payments.com

Authorize.Net

www.authorize.net

Bank Of America

www.bankofamerica.com

BeanStream

www.beanstream.com

Chase Merchant Services

www.chase.com

Concord EFSNET

www.concordefsnet.com

CyberCash

www.cybercash.net

Cyber Source

www.cybersource.com

DPI Link

www.dpicorp.com

ECHOnline

www.echo-inc.com

ECX QuickCommerce

www.ecx.com

eProcessing

www.eProcessingNetwork.com

eWay

www.eway.com.au

Fast Transact

www.fasttransact.com

FirstData / Cardservice Int.

www.firstdata.com

goEmerchant

www.goemerchant.com

GoRealTime (Full-pass)

www.gorealtime.com 

Innovative Gateway

www.innovativegateway.com

Intellipay ExpertLink

www.intellipay.com

Iongate

www.iongate.com

iTransact RediCharge HTML

www.itransact.com

LinkPoint

www.linkpoint.com

Merchant Anywhere

www.merchantanywhere.com

Merchant Partners

www.merchantpartners.com

Moneris

www.moneris.com

MPCS Weblink

www.merchantcommerce.net

NetBilling

www.netbilling.com

Network Merchants

www.networkmerchants.com

NexCommerce

www.thompsonmerchant.com

NOVA's My Virtual Merchant

www.myvirtualmerchant.com

NOVA's Viaklix

www.viaklix.com

OGONE

www.ogone.be

Optimal Payments

www.optimalpayments.com

PayFlow Link

www.paypal.com

PayFlow Pro

www.paypal.com

PayFuse - First National MS

www.firstnationalmerchants.com

Paygea

www.paygea.com

PayJunction Trinity

www.payjunction.com

Paymentech - Orbital

www.paymentech.com

Payment Express

www.paymentexpress.com 

Payments Gateway

www.paymentsgateway.com 

Payready Link

www.payready.net

PayStream

www.paystream.com.au

Planet Payment

www.planetpayment.com

Plug 'n Pay

www.plugnpay.com

PRIGate

www.paymentresource.com

Protx

www.protx.com

PSIGate

www.psigate.com

RTWare WebLink

www.rtware.net

SECPay

www.secpay.com

SecurePay

www.securepay.com

SkipJack

www.skipjack.com

Sterling

www.sterlingpayment.com

SurePay / YourPay

www.surepay.com

TransFirst eLink

www.transfirst.com

TrustCommerce

www.trustcommerce.com

USA ePay

www.usaepay.com

uSight

gateway.usight.com 

Verifi

www.verifi.com

Verisign PayFlow Pro

www.verisign.com

WorldPay Select Junior Invisible

www.worldpay.com

YourPay

www.yourpay.com

and more ...

 

Search for epayment in the global settings for the configuration details.

 

4.5.11. Resellers

 

If the “resellerbilling” global config option is set, than reseller cdr records are stored in the tb_cdrresellers and billed accordingly.

To define a “base tariff” for the reseller the “Is Public” option is used from the “Price Settings” form (usually applied to an “enduser cost” packet.)
This will be the prices that will have to be paid by resellers to the service owner.

Reseller can create their base tariff (by setting the “resellerid” in tb_billentries) usually from a webportal. Multiple packets are allowed and packets can be assigned to other users or resellers directly from web (in the same way like on the “Users and Devices” form -> “Billing” tab -> Billing packet setting.

Resellers usually will create their own price lists by cloning an existing list or their base tariff list.

 

Top reseller statistics can be viewed on the “Advanced statistics” form by checking the “OC” and the “PR”/”PFR” fields.

4.5.12. Notes


Call forward billing: 2 cdr record will be generated. A->B and B->C

Call forward from IVR:  one cdr will be generate. Wether we charge the call to the IVR or only bill the forwarded call can be controlled by “resetdurationonfwd”

Call transfer by SIP signaling: the second call is completely different from the first call. Billing goes normally (2 calls)

Call transfer with dtmf (*5*):  only one call leg is billed

Conference with dtmf (*1*): separate cdr will be generated for all call legs

Conference by sip: technically separate calls. Will be billed normally (2 cdr)

Call forwarding from IVR (2-leg calls):

CDR’s generated based on “ivrbilling” global and user setting: 0: one CDR including the forwarded call, 1: load duaration only from forwarded call, 2: generate 2 CDR records (A leg + B leg), 3=both merged,4=merged with short a-leg,5

Ø  ivrbilling is 0: (server side) 1 CDR will be generated with total client call duration. The billing will be done after the final called user (the IVR accessnumber when the call was not forwarded. Othervise the final destination number)

Ø  ivrbilling is 1: (client side) 1 cdr will be generated. The call duration will be set after B-leg call duration and billed accordingly

Ø  ivrbilling is 2: (both) 2 cdr will be generated (when there was call forwarding action). The 2 cdr record can be billed separately after different billing tables

Ø  ivrbilling is 3: (both merged) 1 cdr will be generated, but the enduserprice can be loaded from different billing tables (2-leg merged)

Ø  ivrbilling is 4: (both merged with short a-leg) 1 cdr will be generated, but the enduserprice can be loaded from different billing tables  (2-leg merged). The A leg duration is shortened (only the time spent with IVR untill the call forward action)

Ø  ivrbilling is 5: (serverside if connected –mostly the same like ivrbilling 0) 1 CDR will be generated. If the call was not connected then all duration will be billed (you can setup different billing for these calls by marking the entry as “is ivr call” and set the “called” to the access number. If the call is connected, then the B-leg will be billed (possibly after a different billing packet)

4.6. GSM/SIM Platform

4.6.1. SIM Packets

Id: database primary key. Autoincrement

Provider, type, subtype: the name of the packet

Owner: simowner in case of simpackets

Allowedpartners: applied when it is a simpacket

AbsPriorityPartner: this partner will have big priority on sims that belong to this packet

PriorityPartner: this partner will have increased priority on sims that belong to this packet

NopriorityPartner:  this partner will have lowered  priority on sims that belong to this packet

Filtering: determines how we check the blacklist and the known numbers

   0-no filter: allow all numbers

   1-allow blacklist „sure” level: 0,1 and 2 (tb_blacklist)

   2- allow blacklist „sure” level: 0 and 1

   3-allow only blacklist „sure” level: 0

   4-block all blacklist

   5-allow only knownnumbers (listed in tb_knowngoodnumbers)

   6- allow only knownnumbers that are 100% ok (sure is 1 in tb_knowngoodnumbers)

Dialplan:

            0: international number format with 00...  (e.g.: 003630xxxxxxx)

            1: international number format with +...   (e.g.: +3630xxxxxxx)

            2: area code + number (0630xxxxxx, 061xxxxxxx)

            3: shortest possible number (xxxxxxx in the same simpacket or 0630xxxxxxx in other simpacket)

            4: correct it to the most appropriate format if original is not correct

WaitAfterCall: how much time must be elapsed between calls to simcard belonging to this packet

MaxMonthlyMinutes: we don’t route more than MaxMonthlyMinutes to simcards belonging to this packet

MaxMonthlyMinutesPeak: maximum allowed minutes in peak time / month

MaxMonthlyMinutesOffPeak: maximum allowed minutes in offpeak time / month

MaxMonthlyMinutesWeekend: maximum allowed minutes in weekends / month

MinMonthlyMinutes: this packet will run on higher priority until the min minutes is reached

Price: default minute price if not set in tb_packetprices (deprecated. Loaded from pricelist from v.3.2)

BillingStep: second increments (used for calculation simcards minutes –daily, weekly, peak, offpeak)

MinAmmount: min billing seconds  (used for calculation simcards minutes –daily, weekly, peak, offpeak)

FreeAmmount: free speech seconds   (used for calculation simcards minutes –daily, weekly, peak, offpeak)

MinCreditOnRoute: if the sim has less credit, then we don’t route call to it

MinCreditOnCharge: if the sim has less credit, then we begin trying to charge it

Prepaid: 0=postpaid, 1=prepaid

SendFakeSMS: we send dummy sms on this sim

CanCallEachOther: the simcard in this packet will call each other periodically to generate incoming traffic

IncludeVAT: used when credit message information are received from simcards (typically via SMS) and the simcards credits are calculated without the VAT value

Currency: used when the credit messages received needs to be converted in native currency (“currency” global setting) format. If the currency is not the same as the native currency and the “convertsimcreditcurrency” global setting is set to true, than the received credit value is converted to the native currency, based on “Currency Converter” settings, found in MManage under the “Billing” section

MaxAlloc: helper settings when automatically alocating channels for a direction. (Depending on reserverfor simcard setting).

            Here you can define the maximum count of simcards that can be reserved for the actual packet. Set to 0 to disable rezerving from that packet.

Credit Request Command: the command used by the server for sim credit request (used for recharge automation)

Credit Charge Command: the command used by the server for sim credit charge (used for recharge automation)

    The request and the charge command must have the following syntax: <DTMF,action,simid,”message”,telnum>

             The “chargecode” string in the message will be replaced with a valid code if found.

            You can introduce delays by inserting ‘#’ characters in the message.

    The action parameter can be

-0: used to send USSD messages

            The message parameter must have the following format “AT+CUSD=command” where command is the ussd string.

            Example: DTMF,0,simid,"AT+CUSD=1,*121*chargecode#"

-1: will send  the specified message to the engine. The message can be any valid AT command

-2: will dial the specified  telnum, and than send the message as DTMF.

            If  the message string if emty, tha only will dial the requested telnum, hold a little and than drop.

            Example: DTMF,2,simid,"",172

-3: reserved for future ussage

-4: will send  the specified message as SMS to telnum

4.6.2. Gateways

Used to configure your Mizu VoIP-GSM gateways.

The fields are the same as listed in section 4.3.1

4.6.3. Engines

Listing of gsm channels. The fields are self explanatory.

4.6.4. SIMCards

Same as “GSM Channels”. See section 4.2.2

The first field will show the status of the simcard (Monitor). The most frequently used values are the followings:

Unknown: the last list refresh is too old. Status cannot be determined. Click on the reload button to refresh

Missing: simid not found. Corrupt entry

Sim Disabled: simcard “Enabled” is set to false
GW Disabled: gateway “Enabled” field is set to false

GW Missing: last message received from gateway is more than 8 minute old

SIM Missing: last message received from simcard is more than 8 minute old

SIM Temp. Disabled: simcard “Temporary disabled” field is set to true

GW Temp. Disabled: gateway “Temporary disabled” field is set to true

No Packet Set: no packet settings are present for this sim. You always need to set the correct packet settings for all simcards

Packet Disabled: simpacket “Enabled” field is set to false

Closed: simcard channel status is set to closed. A simchannel can be closed for different reason. Cannot register to gsm network, Sim Change, Just restarted, etc. If this status persist, check the logs for that simcard

Failovered: server has detected wrong quality on the simcard. Traffic will be forwarded to other simcards if possible

AutoDisabled: same as “Failowered”

Cannot Get Credit: automatic credit request failed. Check the credit automation log for errors

Wrong Statistics: wrong statistics for  the current day

Wrong ASR: wrong ASR detected on the channel. Treshold values can be set up from the MManage -> Menu -> Settings

Wrong ACD: too small average speechlenth detected on that simcard

Expired: maximum monthly or daily speechlength limit reached (SimPacket option)

Low Credit: prepaid simcard expired

Gateway Disc.: gateway is offline or just restarting.

Not Ready: simcard is not ready for some reason. Maybe just starting. Checj the logs if this status persist

Ready: simcard is ready to accept incoming call

Dialing: outgoing call setup in progress

Ringing: ringing signal received from gsm network

Speaking: gsm engine is ringing or call in progress

Call ending: dropping the current call

DTMF: dtmf or credit request/recharge message in progress

Simulating incoming/outgoing: calls between simcards generated by the server

Routing: the call have been routed from the server, but still not arrived to the gsm gateway. If this persist, check the log for errors. Usually means firewall/NAT problems

 

Note: dialing, ringing and call ending messages may not be shown in the monitor depending from the gsm gateway configuration.

If the “sendallstatus” setting is set to false, than instead of “dialing” and “ringing” only the “speaking” message will be shown.

4.6.5. Credits

For Identification of sms and dtmf messages received from simcards that are useful for credit request and charge

Type: 0=other, 1=succ charge without credit info,2=credit start/end, 3=failed charge, 4=need charge

Msgbgn: begins with

Msgeng: ends with  -used if type is 0 (replace) or 2 (end of credit), 4 (new credit. usually 0)

Priority: check order (longer messages usually first, to not include shorter) –higher values first

 

4.6.6. SIM Distribution

All simslots are listed here.

Probability values:

            not sure: the simcards was seen more than one month

            probably: the simcards in the last month

            sure: the simcards in the last week      

The other fields are the same as described in section 4.2.2.

4.6.7. SIM Utilization

List of simcards in call duration order.

4.6.8. New Simcard

You can add new simcards by using this form.

However, the simcards are usually added automatically. If they are active in the gateway they will register automatically. Usually only the owner and the packet must be set manually.

4.6.9. New Charge Card

Add new chargecards with this form.

The charge card will be charged only on the simpackets selected  (“packets for”) and if the owner will match.

 

4.6.10. SIM Bank

 

In the SIM Bank form you can monitor the sim flying activity.

4.7. Other -MManage

4.7.1. Configurations

Global system configurations.

Basic configuration are vital for the system to run correctly.

 

The following config settings are defined:

 

 

Category

Key

Description

CallCenter

allowdbcalls

Allow calls from database in TAgent

CallCenter

allowmanualcalls

Allow manual calls from TAgent

CallCenter

allowopcampchange

Allow operators to change its campaign from TAgent

CallCenter

autoformname

Type of AutoCall GUI to load

CallCenter

callbackautorecall

1= schedule for recall if number is in campaign

CallCenter

callbackhandling

handling incoming calls: 0=dropp all

CallCenter

callbackivr

play special messgae (callback.wav) if no operator found or ring timeout expired

CallCenter

callbacknumber

A number for calls. For example the predective dialer will use this number

CallCenter

callbackringtimeout

ring timeout on callback (after than play ivr message if set) defrecallmin

CallCenter

callbackroutenumber

number to be dialed on incoming calls when callbackhandling  is 1

CallCenter

CALLCENTERPORT

callcenter tcp port number (for requesting new clients)

CallCenter

callmaxring

max ring time in sec

CallCenter

callmaxwait

max worktime for operators between calls

CallCenter

callnumbertype

Preference order of numbers (if more than one number exists for a client): 0=first try landline

CallCenter

callretryival

seconds to wait untill to redial the client

CallCenter

ccorder

client call order: 0=database id order

callcenter

defrecallmin

recall data-time will be shown with the specified minute in TAgent

CallCenter

desireddropprate

optimal percent of calls wich cannot be assigned  to operators when in predective

callcenter

finishvoice

default file when set to "finish with voice" in scripts

CallCenter

handlingincoming

0=not handled

CallCenter

maxcallatonce

max number of calls in one round when in predective (error guard)

CallCenter

maxcallsperminute

max new call attempts/minute when in predective (error guard)

CallCenter

maxcalltrycount

max attemt of calls for a client

CallCenter

maxrecallafter

client can be recalled in this interval

CallCenter

maxrecallafterall

client can be recalled in this interval by any operator

CallCenter

maxrecallbefore

client can be recalled before the specified time

callcenter

maxrecallmin

restriction of the recall date-time input in TAgent

CallCenter

maxrecalltrycount

max attemt of REcalls for a client

CallCenter

mobileratio_08_12

percent of mobile calls in the specified period [1-100]

callcenter

mobileratio_12_16

percent of mobile calls in the specified period [1-100]

CallCenter

mobileratio_16_20

percent of mobile calls in the specified period [1-100]

CallCenter

mobileratio_20_08

percent of mobile calls in the specified period [1-100]

CallCenter

mobileratio_weekend

percent of mobile calls in the specified period [1-100]

CallCenter

predectivecheckival

controlls the speed of the predective dialer thread -advanced technical setting

CallCenter

predectivecorrection

correction of precalculated success ratio statistics in predective. for example if we set it to 80

CallCenter

predectivecutnofreeop

disconnect pending predective calls if no more operator waiting

CallCenter

predectivedial

dialing mode: 0=simple tagent requests

CallCenter

predectivelogging

details of predective logs (0=no logs

CallCenter

predectivemaxsucccalls

max predective calls in the same time (check in calllist)

CallCenter

predectivemaxsuccmobilecalls

max predective mobile calls in the same time (check in calllist)

callcenter

presentationmode

0=no presentations

CallCenter

quotastatrecalcival

how often the quotas will be recalculated

callcenter

recallonlyinsamecampaign

call only with its own campaign (no recalls from other campaigns)

CallCenter

recallrescheduleival

if call continue to fail

CallCenter

recallrescheduleivalfirst

if call failed for the first time

CallCenter

recallrestrictions

recall mode: 0=give to the same operator

CallCenter

savemode

level of saving data - 1=automatikus mentes a kovetkezo kerdesre ugraskor

CallCenter

statival

rebuild predective statistics interwal (-2 = automatic)

CallCenter

stopwrongcdrc

pause predective if the ASR is too low (error guard)

CallCenter

waitforpredective

max time to wait for a free operator when a predective call is connected

CallCenter

waitifnotaccepted

max time to wait in tagent if the client is not "accepted"

CallCenter

waitifnotconnected

wait after calls even if was not connected (operator worktime)

gatekeeper

h323debuglog

write h323 gk log to logfile

license

CAN_alert

default license (will have no effect if you change it here)

license

CAN_billing

default license (will have no effect if you change it here)

license

CAN_failower

default license (will have no effect if you change it here)

license

CAN_filtering

default license (will have no effect if you change it here)

license

CAN_gsmextra

default license (will have no effect if you change it here)

license

CAN_hash323

default license (will have no effect if you change it here)

license

CAN_hassimbank

default license (will have no effect if you change it here)

license

CAN_hassimplatform

default license (will have no effect if you change it here)

license

CAN_hassip

default license (will have no effect if you change it here)

license

CAN_recharge

default license (will have no effect if you change it here)

license

CAN_runsipproxy

default license (will have no effect if you change it here)

license

CAN_sipextra

default license (will have no effect if you change it here)

license

FULLRIGHTS

default license (will have no effect if you change it here)

license

lic_isset

default license (will have no effect if you change it here)

license

LICENSEMAXMONTH

default license (will have no effect if you change it here)

license

LICENSEMAXYEAR

default license (will have no effect if you change it here)

license

MAXALLUSERS

default license (will have no effect if you change it here)

license

MAXCCALS

default license (will have no effect if you change it here)

license

MAXCHANNELS

default license (will have no effect if you change it here)

license

MAXGATEWAYS

default license (will have no effect if you change it here)

license

MAXSIPUSERS

default license (will have no effect if you change it here)

license

MAXSL

default license (will have no effect if you change it here)

license

MAXTRAFFICSENDERS

default license (will have no effect if you change it here)

license

SRVVERSION

default license (will have no effect if you change it here)

licensecfg

hasalerting

modules to load (has effect only if not prohibited by builtin license restriction)

licensecfg

hasbilling

modules to load (has effect only if not prohibited by builtin license restriction)

licensecfg

hascallcenterin

modules to load (has effect only if not prohibited by builtin license restriction)

licensecfg

hascallcenterout

modules to load (has effect only if not prohibited by builtin license restriction)

licensecfg

hasextra

modules to load (has effect only if not prohibited by builtin license restriction)

licensecfg

hasfailower

modules to load (has effect only if not prohibited by builtin license restriction)

licensecfg

hasfiltering

modules to load (has effect only if not prohibited by builtin license restriction)

licensecfg

hasgsmextra

modules to load (has effect only if not prohibited by builtin license restriction)

licensecfg

hash323

modules to load (has effect only if not prohibited by builtin license restriction)

licensecfg

hasrecharge

modules to load (has effect only if not prohibited by builtin license restriction)

licensecfg

hassimbank

modules to load (has effect only if not prohibited by builtin license restriction)

licensecfg

hassimplatform

modules to load (has effect only if not prohibited by builtin license restriction)

licensecfg

hassip

modules to load (has effect only if not prohibited by builtin license restriction)

licensecfg

maxallusers

limitations (has effect only if not prohibited by builtin license restriction)

licensecfg

maxcallspermin

limitations (has effect only if not prohibited by builtin license restriction)

licensecfg

maxccalls

limitations (has effect only if not prohibited by builtin license restriction)

licensecfg

maxccallsblock

limitations (has effect only if not prohibited by builtin license restriction)

licensecfg

maxchannels

limitations (has effect only if not prohibited by builtin license restriction)

licensecfg

maxgateways

limitations (has effect only if not prohibited by builtin license restriction)

licensecfg

maxgsmgateways

limitations (has effect only if not prohibited by builtin license restriction)

licensecfg

maxivrspeechlen

limitations (has effect only if not prohibited by builtin license restriction)

licensecfg

maxregistrations

limitations (has effect only if not prohibited by builtin license restriction)

licensecfg

maxsessionspeechlen

limitations (has effect only if not prohibited by builtin license restriction)

licensecfg

maxsipusers

limitations (has effect only if not prohibited by builtin license restriction)

licensecfg

maxsl

limitations (has effect only if not prohibited by builtin license restriction)

licensecfg

maxtagents

limitations (has effect only if not prohibited by builtin license restriction)

licensecfg

maxtrafficsenders

limitations (has effect only if not prohibited by builtin license restriction)

licensecfg

runsipproxy

run h323 - sip translator

settings

adminport

adminport

settings

alertonlowdiskspace

alert on low disc space

settings

aliasrouting

allow lrq routing

settings

allownumbersendback

allow to route back the call to the caller

settings

autodetectlocalip

automatically overwrite the localip value if set to true

settings

autoholiday

holiday routing and billing treated as Sunday

settings

billshortnumlength

number that are smaller than this value will not be billed

settings

bindip

bind to this ip (for multihomed servers or if we run multiple serers on the same maschine)

settings

boostonfirstcall

if to start with low priority and boost it when the first call arrives

settings

brs_lcr

routing algoritm: 0=not used

settings

buildloadstatistics

tb_loadstatistics

settings

canaoutosaveinifiles

if we can save unsaved items

settings

canrestartformalfunctions

0=cannot restart

settings

cfg_block711

if g711 (PCMU

settings

checkblacklist

0=no check

settings

checkcallerids

wich calls are to be checked on the selfcheck thread (useful if you have wrong traffic senders)

settings

checkcputime

if cputime is constantly high

settings

checkcredirights

if to check the owner of the sim and chargecards

settings

checkgkcdrs

if to check cdr records from the gk statusport

settings

checkgsmnumlen

if to allow incoming number only with this size

settings

checkknownnumbersex

0 = no

settings

checklocalnumberpx

local endusers prefix to check (to not route to other servers). if emty

settings

checklocalnumbers

check local endusers on routing

settings

checkmaxlines

check max used lines to client and partner

settings

checkmaxlinetb

extended check for max lines (tb_maxlinep)

settings

checkmaxnumlen

max called number length allowed

settings

checkminnumlen

min called number length allowed

settings

checknumlen

if to check the incoming number len //14

settings

checknumport

check number portability

settings

checknumportpx

check number portability for this prefixes

settings

checkpacketfailowering

0=don't check

settings

checkprefixes

check asr/acd for alerting and wachdog only for this prefixes. must be in the following format: 'xxx'

settings

checkprefixroules

set to 1 to check additional prefix rules. by default only H323 ip prefix rules  are applied

settings

checkrouterrights

callprefixrights and partner binding

settings

checksss

check special numbers

settings

connectondisccode

if to connect the sipcall before to play the disconnect reason. 0=not connect

settings

country

used in number normalizations

settings

countryprefix

used on routing

settings

creditcheckforpostp

check credit for postpaid users too (max limit)

settings

creditcheckforts

check credit for traffic senders too

settings

currency

local currency

settings

dailymainttaskhour

when to perform daily maintenance tasks

settings

dbdelbackupdir1

additional backup directory to cleenup

settings

dbdelbackupdir2

additional backup directory to cleenup

settings

dbdelbackupdir3

additional backup directory to cleenup

settings

dbloglevel

db server loglevel  (0=only errors to monitor

settings

dbmaint_backupdbdir

database backup directory

settings

dbmaint_backupdbnetworkdir

database backup directory path (if the database engine is located on a remote server)

settings

dbmaint_backuplevel

0=no backups

settings

dbmaint_backuptables

backup cdr records and other tables to xxx_backup: 0=no

settings

dbmaint_do

do database maintanance

settings

dbmaint_removecdrs

remove cdr records after x days

settings

dbmaint_removelogs

remove logfiles after x days

settings

dbmaint_removeother

remove other tables records after x days

settings

dbtimeout

database query timeout

settings

defaultenduserprice

if no price entry found

settings

defaultproviderprice

if no price entry found

settings

defcallerid

default caller id for cdr records if cannot be determined exactly

settings

deldbbackup

delete old backup files after this day elapsed

settings

deleteoldlogfiles

delete older logfiles than the specified day (set to 0 to disable)

settings

emailbatchwait

bulk email sender wait interval

settings

emailfromaddr

default email config

settings

emailfromname

default email config

settings

emailhost

smtp server used for alerting

settings

emailsubject

default email config

settings

emailuser

smtp username used for alerting

settings

emergencydir

route emergency calls to this gateway (user id)

settings

enablefirewall

enable/disable builtin firewall and dos attack filtering

settings

enforcestrongauth

enforce authorization and strong passwords

settings

estimatedspeachlenoncard

sim card config

settings

eveningbegin

evening begins at that hour. used for common time intervalls

settings

fakegwalias

will route the wrong calls here. set to FBACKUPGW if needed

settings

faxfromaddr

fax sender configuration (email to fax server)

settings

faxfromname

fax sender configuration (email to fax server)

settings

faxhost

fax sender configuration (email to fax server)

settings

faxnormalize

fax sender configuration (email to fax server)

settings

faxsubject

fax sender configuration (email to fax server)

settings

faxsuffix

fax sender configuration (email to fax server)

settings

faxuser

fax sender configuration (email to fax server)

settings

fileloglevel

file server loglevel  (0=only errors to monitor

settings

filetransferbufflen

fileserver buffer length

settings

filetransfertick

fileserver speed

settings

freenumlen

number length that can be called free of charge

settings

gkcommand

how to start the h323 gatekeeper

settings

gkstoptick

gk setting

settings

globalcdrid

server generated. don't  touch

settings

gmtdiff

the difference to gmt (useful for sip date header)

settings

gsminccallerip

convert incoming caller ip from gsm gateways when forwarding to a support phone (incall action in gsm gateways is 3)

settings

incduration

to increase cdr duration. 1=small inc ~ 1%

settings

internal_endusercost

enduser price for internal calls (between endusers)

settings

internal_providercost

provider price for internal calls (between endusers)

settings

InternalIP

sipserver internal ip (interface to clinets)

settings

keepbackuprecorded

days to keep voice records in the backup directory

settings

keeprecorded

days to keep voice records

settings

LocalIP

sipserver external ip

settings

loglevel

other server loglevel  (0=only errors to monitor

settings

lognofreecardc

list free card data when no route found

settings

logsqlcommands

trace sql commands (log)

settings

logtodb

trace to database (log)

settings

logtofile

trace to file (log)

settings

maxdisableonss

reserver sim capacity config

settings

maxgkmemoryutilization

max memory for gatekeeper in KB (restart if exceed)

settings

maxloglisten

max log message quee length

settings

maxmemoryutilization

max memory utilization in KB (restart if exceed)

settings

maxnocdrmin

will take the correspondig action if no cdr record found in the last "maxnocdrmin" minute. set to 0 to disable checks

settings

maxnogkcallmin

will take the correspondig action if no new call

settings

maxnologival

will take the correspondig action if no log entry found in the last "maxnologival" minute. set to 0 to disable checks

settings

maxnosip2h323callmin

will take the correspondig action if no sip2h323 call

settings

maxpriceperminute

will alarm if providerprice is bigger

settings

maxrecdiff

recorded voice stereo sync in msec

settings

maxrecdiff2

recorded voice stereo sync in msec

settings

maxroutereqpermin

allow only "maxroutereqpermin" routing request/minute

settings

maxudpselect

max socket on select (set to -2 to autoconfigure. -1 means no limits)

settings

minacd

min acl value

settings

minactivegateways

will take the correspondig action if not enough gateways

settings

minactivesims

will take the correspondig action if not enough channels

settings

minasr

min asr allowed. will alert/reset if lower

settings

minblockcallcount

mincallcount to check in periodic blacklist refresh

settings

mincdrcount20min

minimum number of calls/20 min. restart if lower

settings

mincreditoncharge

general credit limits

settings

mincreditonroute

credit limits

settings

minfreechargecards

min free sim charge card

settings

minlinetoprefix

min line to the predefined prefix

settings

minlogdelay

minimum delay between writing two log messages in msec

settings

minmemoryutilization

will restart on offpeak if exceed

settings

minprofit

alerting threshold

settings

minprofitpercent

alert config

settings

minsubsecventcallbegin

wait at least minsubsecventcallbegin when route to the same channel

settings

mobileprefixes

mobile number prefixes

settings

monitorport

default monitor port

settings

nightbegin

night begins at that hour. used for common time intervals

settings

normalizenumbers

0=not at all

settings

numfiltering

blacklist/whitelist filter (0=don't filter

settings

onlyroutealias

you can set a gateway here. all traffic will be routed to that gw

settings

onlyroutesim

you can set a simid here. all traffic will be routed to that sim

settings

peaktimebegin

peaktime settings for billing and routing

settings

peaktimebegintr

peaktime settings for various operation

settings

peaktimeend

peaktime settings for billing and routing

settings

peaktimeendtr

peaktime settings for various operation

settings

ppriority

0=low

settings

removetrailinghash

remove # when routing

settings

restartatnight

set to true if you want a reset every night

settings

restartpcatfirst

restart the pc immediately on error (don't restart the sw)

settings

rotatelogfile

create separate logfiles for every day

settings

rrr_black

blacklist q931 disconnect code. defaults to ResourceUnavailable          = 47

settings

rrr_denied

access denied q931 disconnect code. defaults to ChannelUnacceptable          =  6

settings

rrr_desterr

wrong destination q931 disconnect code. defaults to DestinationOutOfOrder        = 27

settings

rrr_err

routing error q931 disconnect code. defaults to TemporaryFailure             = 41

settings

rrr_nogw

no capacity q931 disconnect code. defaults to NoCircuitChannelAvailable    = 34

settings

rrr_tomany

too many wrong request q931 disconnect code. defaults to Congestion                   = 42

settings

rrr_wrongnum

wrong B number q931 disconnect code. defaults to InvalidNumberFormat          = 28

settings

runfakegw

if to run local fake h323 gw to offload exceeding traffic

settings

runstatistics

long havy cdr statistics

settings

salescomissionfromprofit

The defined commission percent will be calculated for the profit or for the enduserprice

settings

sendmailalert

if to send alerts on critial errors (pease configure the emailalertX settings)

settings

serverftpdailydir

create separate directory for recorded voices daily

settings

serverftpdir

used for inifiles

settings

serverftpvoice

where to store recorded audio

settings

servername

server name (will appear in reports

settings

shortnum_endusercost

enduser cost for short numbers

settings

shortnum_providercost

provider cost for short numbers

settings

sipcommand

how to launch the local h323-sip server

settings

SIPH323GWID

sip to h323 protocoll conversion will be done using this gateway or module

settings

siph323gwid2

sip2h323 user id (if -1 than will load automatically)

settings

skipsqlerrors

if to skip sql errors (not throw)

settings

storecdrcomments

sore comment to cdr records. 0=no

settings

storeduplicatecdr

store separate cdr record for sip 2 h323 conversions

settings

usedefaultdisccodes

don't use customized disconnect codes

settings

usedelayedupdate

sql upfates in separate thread

settings

usewrongnumfilter

block (nearly) subsecvent wrong callednumbers (0=don't block

settings

voicebackupdir

where to store a backup of recorded conversations

settings

weekendispeak

peaktime settings for billing and routing

settings

weekendispeaktr

peaktime settings for various operation

settings

wrongnumcache

remembered callednumbers. used if usewrongnumfilter is not 0

settings

wrongnumdropcount

drop call if this number of failed calls found in cache. . used if usewrongnumfilter is not 0

SIMAllocation

simallocivaltype

simbank config

SIMAllocation

simallocsendival

simbank config

SIMAllocation

simalloctimebefore

simbank config

SimPlatform

allowlastsim

specify to allow two subsequent calls to be routed on the same simcard

SimPlatform

allowlastwrongnum

specify to allow subsequent wrong number

SimPlatform

allowoldstat

allow old status messages

SimPlatform

autosimalloc

automatically allocate simcards

SimPlatform

brsforgsm

check BRS for gsm gateways too

SimPlatform

checkcredirights

sim and chargecard rights

SimPlatform

checkcreditandcharge

if to run the creditcheck thread

SimPlatform

checksimsdisable

automatic simcard prioritization based on ASR and ACD

SimPlatform

checktpercek

allow tpercek exception in routing

SimPlatform

checkwestelcards

Hungarian specific

SimPlatform

convertsimcreditcurrency

convert incoming credit message to native currency (defined by "curerency" config value)

SimPlatform

convertsimcredittonovat

conert oncoming credit message to not include VAT values

SimPlatform

creditchecktimeival

run the creditcheck thread for every X interval

SimPlatform

creditunit

usefull in credit checks.  equilavent with 600 ft. less if you want more precise credit calculations

SimPlatform

defaultsimpacket

use the default packet for new simcards (simcards without a packet)

SimPlatform

enforcegwname

accept only gateways with valid name. the 'GW' suffix must be present in names

SimPlatform

estimatedspeachlenoncard

needed for routing

SimPlatform

fakesmscount

fake sms messages by sim / month

SimPlatform

fieldstrengthstatistics

build fieldstrengthstatistics

SimPlatform

fnosamecountyc

used for fake sms and calls.  every fnosamecountyc sms/calls will go to some other country

SimPlatform

fnosamepacketc

used for fake sms and calls.  every fnosamepacketc sms/calls will go to some other simpacket

SimPlatform

fnosameprovidc

used for fake sms and calls.  every fnosameprovidc sms/calls will go to some other provider

SimPlatform

gkpname

gatekeeper name

SimPlatform

gkrstifnotconnected

restart the gk if not connected

SimPlatform

gsmgwport

port for the gsm gateways

SimPlatform

gsminccalled

forward incoming call from gsm gateway to this number

SimPlatform

gsminccaller

convert incoming caller number from gsm gateways when forwarding to a support phone (incall action in gsm gateways is 3)

SimPlatform

gsminccallerip

gsminccallerip

SimPlatform

gsminfromip

fromip

SimPlatform

gwstatistics

to build the table or not

SimPlatform

incomigcalls

simulate incoming calls on simcards. 0=no

SimPlatform

incomingcallcount

number of incoming call/month by simcard (if the incomigcalls options is set to 1 or 2)

SimPlatform

lowercredit

sss

SimPlatform

maxallowedcredit

only values below are valid (when received in sms or dtmf)

SimPlatform

maxflysims

max flying simcards

SimPlatform

maxsimpreconfig

max credit rec delta

SimPlatform

maxsimpriceonalloc

max accepted price

SimPlatform

mincreditoncharge

min credit

SimPlatform

minfreelines

will take the correspondig action if not enough free line found

SimPlatform

minsimlastrectime

elapsed minutes when the server decide that the channel is offline

SimPlatform

onlyroutealias

route all calls to this gateway

SimPlatform

onlyroutesim

route all calls to this simcard

SimPlatform

reservedef

reserver capacity

SimPlatform

reserveforh323

reserve capacity for h323. reservations will be disabled if less than 1

SimPlatform

reserveforsip

reserve capacity for sip . reservations will be disabled if less than 1

SimPlatform

sendfakesms

send sms messages between simcards

SimPlatform

simalloccangominus

 we may activate sims that have negative values

SimPlatform

simcreditdiv

reported credit must be divided by this number (set to 100 if you receive the credit messages by sms in cents instead in rouded units -dolars)

SimPlatform

succchargetime

minimum time between succesive charge try on the same simcard in minutes

SIPSettings

ABSOLUTETIMEOUT

max session time (call duration + setup time + clearing time) in seconds

SipSettings

addcontentdispozition

0=no;1=optional;2=required

SIPSettings

allowcallunregistered

allow to call before registered (terminals)

SIPSettings

allowdiscmessage

allow disconect reason voice playback

SipSettings

allowlist

INVITE

SIPSettings

CanAcceptLocalIp

Can call from 127.0.0.1

SipSettings

cancutsipnumbers

packet dialplan for sipnumbers

SipSettings

canmove

0=not allowed

SipSettings

checknomedia

disconnect calls on rtp disconnect

SIPSettings

COMPANYNAME

this will apear in the sip signaling

SipSettings

def_max_sessiontimer

sip session-timer config

SipSettings

def_mid_sessiontimer

sip session-timer config

SipSettings

def_min_sessiontimer

sip session-timer config

SipSettings

domainnames

registrar domainnames (used for inter-domain  rerouting)

SipSettings

eventlist

refer

SipSettings

forwardretrytimer

ivr forward retry interval

SipSettings

fwdtootherdomains

0=no

SIPSettings

fwdunknownheaders

forward unknown sip headers

SIPSettings

HasInternalAccess

accept from 192.168... or 10.0....

SIPSettings

identityrwmode

0=no rewrite

SIPSettings

IDLETIMEOUT

used for various session timers

SIPSettings

im_billinguserid

used for instant messaging

SIPSettings

im_parentid

used for instant messaging

SIPSettings

lastlocalsdpport

used in terminals

SIPSettings

loadcallednumberfromto

load the called number from sip to instead from the sip first line (URI)

SIPSettings

localclientport

useful for 2 port configurations

SIPSettings

LocalDomain

sipserver domainname

SIPSettings

localinternaldomain

sipserver internal domainname

SIPSettings

LocalPort

sipserver listen port

SipSettings

logsipmsgexchange

store the sip message headers in the cdr comment

SIPSettings

MAINTIMERIVAL

sip background process timer. used for garbage collections mainly

SIPSettings

MAXEPCOUNTTRESHOLD

maximum number of registered endpoint (it may be limited by license too)

SIPSettings

MAXH323GKCDRCACHE

this must at least the maximum h323-h323 simultaneous call number

SIPSettings

maxreroute

max number rute retry

SipSettings

MaxRTP

rtp port range begin for sip

SIPSettings

MAXSPEACHLEN

max allowed call duration in sec

SipSettings

maxstatchangepermin

max allowed enduser status changes/60 sec (slower if exceed)

SIPSettings

MAXSUBSMSGCOUNT

max subsequent messages before block

SIPSettings

MAXSUBSMSGPERIOD

max subsequent messages before block are checked for this interval (sec)

SIPSettings

MAXWRONGMSGALLOWED

dos attack protection

SIPSettings

MEDIATIMEOUT

will disconnect if the media disappears

SIPSettings

MEDIATIMEOUTSTART

will disconnect if no media detected

SIPSettings

MINRESENDIVAL

sip udp resend timer (T1) in msec

SipSettings

MinRTP

rtp port range begin for sip

SIPSettings

MINSPEACHLENONROUTE

minimum remained speechlength for the caller when the router will still route the call

SIPSettings

MINUSERCREDITONROUTE

minimum credit for the caller when the router will still route the call

SIPSettings

MINUSERNAMELEN

minimum accepted username length

SIPSettings

PRODUCTNAME

the name of the product. this will apear in the sip signaling

SipSettings

propersipcomments

set to true if you want personalized sip headers

SIPSettings

REBUILDREGCLIENTS

usually the same as maxspeachlen

SIPSettings

REENABLEDOSBLOCKED

reenable blocked endpoints after this interval. defaults to 12 hour

SIPSettings

REGISTERIVAL

upper registration interval in msec. defaults to 40 min

SIPSettings

RELOADPROXYLISTIVAL

reload proxies from the config

SIPSettings

REPOPUPULATEFDSETIVAL

used for rtp routing

SipSettings

REPOPUPULATEFDSETIVAL_MAIN

used for main routing

SIPSettings

rerouteon

rerouting behaviour: 0=disabled 1=onlyifset (on busy

SipSettings

resolvedns

resolve uri domain names

SipSettings

ringtimeout

sip calls ring timeout

SIPSettings

routepresence

route subscribes

SipSettings

rtpsendonlytorec

send the rtp only to the rec address

SipSettings

rtpwritefirst

send a rtp packet after connect (to open NAT)

SipSettings

sdpalthandling

0=not handled

SipSettings

sessiontimer

0: don’t use

SipSettings

sipmsgresendcount

resend sip message count

SipSettings

sipmsgresendival

sip message resend timer

SipSettings

sipsendtodefport

try to send to port 5060 too

SipSettings

statussaveival

minutes. used when predective is active

SipSettings

supportlist

privacy

SIPSettings

traceep1

user id

SIPSettings

traceep2

user id

SipSettings

udpkeepalive

send keepalive messages

SIPSettings

udppriority

rtp thread priority: 1=normal

SipSettings

upperexpire

register expire

SIPSettings

usedateheader

send date to user agents

SIPSettings

userofflinemin

enduser will be considered offline if no register or invite for this period

supervisor

canrestartformalfunctions

if supervisor can do restarts. 0

supervisor

checkcallerids

check only this cdr records

supervisor

checkprefixes

check only this cdr records

supervisor

maxnocdrmin

restart if no cdr records

supervisor

minacd

min treshold

supervisor

minacl

min treshold

supervisor

minasr

min treshold

supervisor

peaktimeendtr

peaktime end hour

supervisor

restartatnight

if to restart at every night

supervisor

restartpcatfirst

don't restrart the service. restart the pc immediatly

supervisor

trafficammount

0=after setup

supervisor

weekendispeak

treat weekend as peaktime (same traffic ammount)

 

Other config options:

Show/hide childs and spouose from accept action:

„showspouoseandchild:

0=don’t show,1=show only spouose, 2=only child, 3 = show both of them. 

default value is: 3

 

4.7.2. Direct Query

From this form, direct SQL queries can be done against the Mizu backend. Use it carefully!

4.7.3. Voice Here

With this utility, the conversations on Mizu gateways can be listened in realtime.

 

4.7.4. Test Call

H323 test calls can be done here.

4.7.5. Rfile system

Upload/download files from gateways.

4.7.6. Rdesktop

Use this form to login directly in gateways and on the server.

4.7.7. DB Admin

Database administration tool. Only for database experts!

4.7.8. Web Admin

Direct link to the Costumers website if you have any.

4.7.9. Phone Numbers

Numbers allocated by authorities. You may add new endusers with telnumbers set to a free number from this database. Don’t forgot to set the “free” field to 0 if the number is allocated to an enduser.

The web interface will get free numbers for newly registered users from this database too.

4.7.10. To-do

You can define tasks for technical support with the ease of this form.

4.7.11. Notes

Any quick note here (instead of notepad :)

4.7.12. Holidays

Mizu server can treat holidays as weekend in routing and billing if the “autoholiday” global config is set to “1”.

If the autoholiday is set to 0, than you can configure the holiday routing and billig manually (by selecting the “holiday” pattern from the time pattern list)

In the “Holidays” Form you can set the holidays.

The isholiday value can have the following values:

1: the time period is considered as holiday

0: the time period is considered as workday (even if is weekend)

Than you must set the time interval (fromdate-todate).

Prefixlist can contain ‘*’ or 2,3 or 4 digit prefixes separated by comma.

If the prefixlist is emty or it contains ‘*’ than will be applied to for all directions.

4.7.13. Allocating numbers

Allocated and used phone numbers can be tracked on the “Phone Numbers” form.

Numbers allocated to users or sipproxyes must be marked  (set “free” to 0)

The location can contain the id of the user where the number belongs. This is very important for sipproxy users whete the number is not stored as the record username or number (usually for virtual servers). If set so, the server will know where to route the incoming call. Othervise the routing must be configured in the MManage.

4.7.14. Scheduled tasks

With the scheduled tasks form you can define tasks that will be executed by the server at regular time intervals. Two type of task is allowed: launching aa program or running an SQL commad.

Depending on completition the server can initiate the following actions:

o   Send Email

o   Send SMS

o   Ring a phone number

o   Restart the VoIP service

o   Restart the SQL service

o   Reboot rhe server

 

4.8. Gateway Configuration

Skip this section if you are not using VoIP-GSM gateways.

All configurations can be done from the MManage Client Utility GUI and the VnetCfg utility.

For better understandings we present the gateway configuration settings here:

 

4.8.1. Phone Settings

[PhoneX]

//serial port

PortNumber=1

//control port (not used in 1.6 hardware)

ModemControllPort=X

//if there are no "In" and "Out" device, we use this settings both for in and out

##AudioDevice="Xaaaaaa"

//from engine

AudioDeviceIn="1Audio Codec 1000"

//to engine

AudioDeviceOut="2Audio Codec 1000"

//simchange settings

simchange1= 00:00:00 - 00:00:00 - 01234567890123456789

//if 1 then the conversations (voice) will be saved to files on encrypted, compressed format

record=0

//init commands only for this engine: atinit1,atinit2 ... atinit19

##atinit1=XXXX

##atinit2=XXXX

##etc

//simcard id's in the slots

simcard0=01234567890123456789

simcard1=

simcard2=

simcard3=

 

Simchange settings explanation:

format:

  simchange1= 2004.03.05/13:00:00 - 2004.03.07/13:00:00 - 8936302403070132426 (from date - to date)

    or

  simchange2= 10:20:00 - 10:26:00 - 8936302403070132426 (every day from time to time)   

    or

  simchange3= 2/10:20:00 - 7/10:26:00 - 8936302403070132426 (from Tuesday 10:00 to  Sunday 10:00)   

    or

  simchange4= 6/00:00:00 - 7/24:00:00 - 8936302403070132426 (Saturday and Sunday)  

 

there is a priority order from top to bottom (simchange1, simchange2, etc.) numbering begins from 1 without holes

tip: you can set date-hour prioritization

tip: 24:60 is a wrong time (minutes ends with 59)

tip: on day and exact date settings the roundrobin trick is not working

special characters are:   - , / . :

 

4.8.2. Gateway Basic Settings

//the name of the gateway. uppercase with "GW" suffix. must be descriptive

alias=NEWGW

//hardware version: 10,16,18 or 19

hwversion=18

//mode of operation. virtual available from hw 1.9

virtualmode=0

//server ip address

serverip=1.2.3.4

//number of hardware audio buffers (the jitter base is soundbuffcount*10)

sndbuffnum=8

//min jittertime in milisec (the minimum of the dynamic maximum jitter time. must be larger than soundbuffcount*5)

minjitter=130

//maximum jittertime in milisec (the maximum of the dynamic maximum jitter time. must be larger than maxjitter. if equal, then static jitter will be applied) 

maxjitter=350

//0=off,1=dynamic,2=fixed,3=dynamic+off

silencedetection=3

//codecs to use: onlyg723, onlyg729, onlyg72X, onlyg711

onlyg72x=1

//useserver if false, then don't connect to the simserver. will save cdr records to file. may be limited due to licensing options

useserver=true

//load configuration from the server (at startup, at regular intervals and when specified)

loadcfgfromdb=true

//gatekkep ip address (leave it empty if you don't want arq registration)

gkip=

//gatekeeper H.235 security

gkpassword=

 

4.8.3. Gateway Advanced Settings

//search for gatekeeper

gkdiscover=0

//gatekeeper supported prefixes (from 1 to 100)

gkprefixes1=

gkprefixes2=

gkprefixesX=

//volume in (sound device recorder from the gsm engine). defaults to 40 in hw. 1.8, 100 in hw 1.6

volumein=

//volume out (sound device player to the gsm engine) defaults to 75 in hw. 1.8, 100 in hw 1.6

volumeout=

//gsm engine receive gain. defaults to 0 in hw. 1.8, 64 in hw 1.6

vgr=

//gsm engine transmit gain.  defaults to 0 in hw. 1.8, 64 in hw 1.6

vgt=

//ethernet interface to use. leave it empty to listen on all

netinterface=

//don't touch it usually

launchcmd=voipgsmgw

//install status: 0=idle, 1=wait, 2=normal

opmode=1

//will be set to false after first init

firstinit=true

//tracelevel 1-6 't'

trace=t

//record voice

record=0

//what kind of logs to send to server (1-5)

tracetoserver=1

//process priority

priority=1

//ModemControllPort used only with hw 1.0

controlportnumber=1

//if we use prefXXX settings

useseparatesettings=0

//signaling endpoint port. Defaults to 20001

mintcpport=20001

//max h323 signaling endpoint port. Defaults to 29999

maxtcpport=29999

//min h323 udp endpoint port. Defaults to 36000

minudpport=36000 

//max h323 udp  endpoint port. Defaults to 37999

maxudpport=63999

//min media port. Defaults to 38000

minrtpport=36000 

//max media  endpoint port. Defaults to 63999

maxrtpport=63999

//call with immediately pick up

fakecalls=0

//set to 1 if you want error report

errreport=0

//codec frames in one packet: g723frames, g729frames, g72xframes, g72xframes

g72xframes=1

g723frames=1

g729frames=2

//minimum frame count in 1 packet (apply even if the other end says another settings)

g72xminframes=0

//if set to 0, then we send connect when the call arrives

waitforring=1

//reset the engine/gw if we reach this limit

maxnotconnectedcalls=25

//reset the engine/gw if we reach this limit

maxwrongcalls=40

//wrong call criteria

wrongcallmaxduration=30

//call duration limit in sec (defaults to 3 hour -10800 sec)

callimit=10800

//max time to wait for ring signal from gsm network in msec

maxringewait=36000

//ring limit in msec (defaults to 52 sec)

maxringtime=52000

//deprecated

statusintervall=600

//do Q931 progress indication

doprogreessindicator=0

//reset the gw if we have fewer lines

minactivelines=2

//delay of initialization of the lines (msec)

initdelay=2200

//delay of registration of the lines (msec)

destroydelay=100

//max simchange wait in sec (if sim in call, we will wait until disconnect). default is 5 min

simchangewait=300

//max simcard/channel (will auto detect. don't overwrite)

maxsimcount=

//additional hang-up on the call end (to increase the real duration)

delayonhangup=0

//if we can retry the call

allowreroute=1

//deprecated, as we use only self reroute now

onlyselfreroute=1

//all calls will be routed on the onlyphone if enabled (no simcard requested from the server). deprecated

##onlyphone=3

//automatically increased on every gw (re)start

restartcounter=0

//usually set to 1

enableh245tuneling=1

//usually set to 0

connectwithmedia=1

//usually set to 1

faststart=1

//used for debug purposes

ringtime=6000

//desktop access

desktoppwd=

//if set, then will try to autologin

loginpwd=

//if we want to play a background sound

backgroundsound=0

//4 or 8. no problem if we use 8 on a 4 channel gateway

chanellnum=8

//pincode applied globally to all channels (if not specified in phonex section)

pincode=

//will set the simcards to don't request for pincode (pincode must be set in gateway or phonex sections)

autoremovepincode=true

//volume in/out (will be overwritten with volumein and volumeout)

volume=

//auto gain enable/disable

doautogain=0

//listening tcp port (may be changed on NAT configurations)

signalport=1721

//0=no watchdog, 1=yes, 2=unknown

paralellwatchdog=2

//set to 1 if you want to remap usb audio lines

mustremapaudio=0

//set to 1 if you want to reread all simcards

readallsims=0

//set to 0 if you don't want an usb remap on every pc restart

canremaponstart=1

//if we have usb audio and don’t have other usb device then allow to remap if needed

canremapusbaudio=1

canrenewusbaudio=1

//set to 0 if you don’t want panel reset

canpanelreset=1

//set to 0 if you want an usb remap when the service will start

mustremapaudio=0

//disable reading sms messages

nosmsread=0

//socket read/write timeout and system checks operations modifier. default=4

timeoutmultiplier=4

//backup server address

serverip2=

//route incoming calls here (defaults to serverip if not specified)

outserverip=

//keep connected to the internet (redial, reconnect, repair, enable/disable network interface, restart)

keepinternet=1

//ethernet interface name. configure from the vnetcfg tool

net_interfacename=

//network connection type (STATICIP/DHCPIP/ISDNIP/ADSLIP,CARDNAME). configure from the vnetcfg tool

net_conntype=

//network interface ip address. configure from the vnetcfg tool

net_ip=

//network netmask. configure from the vnetcfg tool

net_netmask=

//network default gateway. configure from the vnetcfg tool

net_defgw=

//network primary dns server. configure from the vnetcfg tool

net_dns=

//dialup phone number

net_phonenum=

//network ppp username. configure from the vnetcfg tool

net_username=

//network ppp password. configure from the vnetcfg tool

net_pwd=

//maximum speech length allowed in sec. defaults to 10800 (3 hour). set to 0 to disable

maxcallduration=

//maximum ringtime allowed in msec. defaults to 52000 (52 sec)

maxringtime=

//password on local command line. default is cmdpwd1234

cmdpwd=cmdpwd1234

//towarding dtmf from voip to gsm

forwarddtmf=1

//what to do with incoming calls (0=drop,1=hold a little then drop,2=auto forward,3=forward to server as forwardnum,4=forward to number requested by dtmf)

inccalls=1

//file to play when requesting number to call on dtmf (when incalls is 4). "please enter phone number to forward call"

playdtmfreqfile=

//file to play when requesting number to call on dtmf failed (when incalls is 4) "forwarding failed"

playdtmffail=

//file to play when requesting number to call on dtmf succeed, and forwarding begins (when incalls is 4) "your call has been forwarded. please wait for connect"

playdtmfforward=

//auto forward number (used if inccalls is 2)

forwardnum=

//used to require the number to forward to (when inccalls is 4)

promtfile=

//allow towarding dtmf messages to gsm network

allowdtmf=true

//how we send the ring signal. 0=send immediately and always, 1=send when received from gsm, (on the server you can set a timeout)

exactring=1

//used by the ipconfig tool. don't edit manually

ethcfg=

//local ip stored here. don't modify

localip=

//date-time of the last config download from the server

lastinisave=

//date-time of the last config upload to the server

lastiniupload=

 

4.8.4. Watchdog settings

 [watchdog]

//set to 0 if you don’t want pc restarts

canrestartpc=1

//set to 0 if you don’t want service restart (then the watchdog will have no effect)

canrestartservice=1

//set to 1 if you want a reset on every night

canrestartdaily=0

//how often can the watchdog restart the service. defaults to 1000*60*25 msec (will change dynamically)

MAXSERVICERESTARTIVAL=

//how often can the watchdog restart the pc. defaults to 1000*60*45 msec (will change dynamically)

MAXPCRESTARTIVAL=

//max time to wait for watchdog reset. defaults to 1000*60*20 msec

MUSTRECEIVEOKIVAL=

 

4.8.5. Other settings

//at commands sent only once for all engines

[atonce]

#hardware version

cmd0=AT+WHWV

#sw version

cmd1=AT+WSSW

 

//at commands sent for all engine at every init

[atinit]

##cmd0=XXXX

##cmd1=XXXX

##etc

 

//prefix depending settings

[prefXXX]

connectwithmedia=0

g723frames=3

g729frames=6

 

[ipmux]

ipmuxenabled=0/1

 

[sounddevices]

//will be filled when reading all sims, so you can copy device names from here

4.8.6. Handling incoming calls from GSM network

Depending on the “incalls” (gateway configuration) settings, incoming calls from gsm network can be handled in several ways.

1. When incalls is set to 0

-all incoming calls to gsm simcards will be dropped immediately

2. When incalls is set to 1

-the engine will pickup the call, hold a little (random time, but maximum 1 minute), and than drop. Also used in call simulations.

3. When incalls is set to 2

-call will be forwarded to the number specified by the  “forwardnum“ option in the GSM network.

-the simcards must support the forwarding options, otherwise this operation will fail

4. When incalls is set to 3

-the call will be forwarded to the Mizu server specified by the “outserverip” setting in the gateway configuration.

-on the server, the call will be forwarded to the “gsminccalled” number (SimPlatform configuration). If  the “gsminccaller” option is filled with a valid phone number, than the callernumber will change accordingly. Otherwise the caller number will be the original caller. The ip caller address can be changed with the “gsminccallerip” option. (thus you can simulate the routing from a predefined user)

5. When incalls is set to 4

-the caller will be asked to enter the target number (handled with dtmf), and the call will be forwarded to that number

-the prompt played to ask the target number can be set by the “playdtmfreqfile” setting. This will have to point to a PCM 8000kHz, 8 bit mono wave audio file.

-the prompt to be played if the forwarding has failed can be specified by the “playdtmffail” setting. When the forwarding is in progress, the “playdtmfforward” file will be played to the user.

-the call will arrive to the server with the ‘222’ techprefix, and you can setup a separate routing roule for this tecprefix

 

A possibe callflow for calls arrived to a working simcard in” inccals 3” mode:

 

original caller initiate call

  call routed by gsm network

    call arrives to our simcard

      converting from gsm to h323

        call routed to GK

          on routing: caller will be converted to “gsminccaller”, called will be converted to “gsminccalled”

              call needs to be forwarded to “sip2h323”

                   sip2h323 module doing the protocoll conversion from h323 to sip

                      call arrives to SIP module

                         routing will decide the proper routing

                            client sip endpoint is created and call forwarded to the target gateway

                               call will be handled by the called gateway

                                  call forwarded to the final user     

                          

4.8.7. Operator friendly gsm termination

Not using industrial engines

On  request, we can deploy our gateways equipped with normal gsm phones instead of industrial gsm engines. Ask the Mizu support for more details

Virtual Engines

Each simcards can have it’s own GSM engine (in other gsm gateway the engines are used by more simcards)

GSM Cell Lock

Because Mizu GSM Gateways use only 8 channels, they don’t overuse the gsm network. However, you can setup individual GSM channels to use separate cells

Virtual Simcards

With the ease of Mizu simbank, your simcards can be stored in a central location, and used in gsm gateways installed at different locations. 

Delayed network registration

A delay time can be configured to elapse between succesive engine (re)registrations.

Intelligent routing

Ballancing the traffic across your simcard based on price and quality

Handling of incoming calls

In usual GSM gateways there are no simple mechanisms to handle incoming calls from the gsm network. In a Mizu system all calls can be forwarded to your support team, so each call can be responded accordingly.

No GSM network owerload

Mizu GSM gateways occupy only 8 channels

Fast detection of dead channels

Failovering from simcards blocked by the operator or with wrong quality

Automatic blacklist generation

Wrong numbers will be detected and blocked on the server (not forwarded to the gsm network)

Minute limits

Each simcard can have different daily, monthly and other limits

Time between subsequent calls

Calls will not be forwarded to gsm gateway without a delay between (configurable)

SIM Bank

Simcards can be managed on a central location, and they will “fly” between gateways

Many other tricks

Ask the Mizu support for more details

4.8.8. How to setup a gateway behind a NAT*

For the basic gateway the followin port forward must be applied on your NAT box:

    -TCP: 1721 (h323 signaling)

    -TCP: 3386 (remote desktop)

    -UDP: 44444 (“voice-here”)

    -at least 16 UDP port for RTP (setup the minrtpport and maxrtpport settings accordingly in the voipgsmgw.ini)

      (RTP media may work without the port forwarding set explicitly. This depends on caller party)

    -TCP: 21 (optional for ftp access)

 

For advanced gateways and servers the following port ports must be forwarded also:

   -TCP: 1720 (default h323 GK signaling)

   -UDP: 5060 (default SIP port)

   -TCP: 9885, 9886, 9889 (gsm server, admin port, log port)

   -TCP: 1433 or 2223 (for SQL server)

   -TCP: 80 (optional for HTTP)

 

*you may use other ports than the defaults listed above

 

4.9. Call Center

This section will describe the outgoing callcenter module but can also be useful when using the incoming callcenter module (e.g. IVR)
The Mizu callcenter combine the maximum efficiecy with easy to use, intuitive interfaces.

Statistics can be viwed in real-time. See Callcenter Statistics for more details.

4.9.1. Users

Will load the callcenter operators (agents). Here you can add, delete and edit them.

The basic settings are placed on the Edit Operator tab. SIP enduser related settings can be edited on the Advanced tab.

With the Campaign drop-down list you can assign the selected operator to a campaign.

Operators must have entered and quit date set correctly. (If the quit date is elapsed, than the operator is not allowed to work with TAgent)

 

Technically operators are just sip endusers (tb_users.type =0) by the isoperator flag is set to 1.

4.9.2. Campaigns

You can setup the campaigns in this form.

Campaign will start to run when the StartDate is reached and will run untill no more clients (phone number) are assigned or the EndDate was reached. This means that Tagent -> Automatic Calls will run if this conditions are met.

The “Display” field will be displayed for the operators in TAgent “Automatic Call” window.

By clicking on the “Load Statistics”, a sort statistics window will be displayed regarding the selected campaign.

 

Handling invitations:

Load Invitation: will download the assigned invitation fron tha database. This can be any file, but Microsoft Word document are preffered.

Save Invitatio: will save the document back to database. Prior to hit this button, the document must be edited, saved and closed.

Print Invitations: will print a separate invitation for all invited clients in this campaign.

You can use special keywords in word documents and that will be replaced with the coresponding value. See the Keywords section for more details.

4.9.3. Scripts

Every campaign can have different operator instructions. These instructions can be defined in this form.

For every step (question) the operator can select from different actions (answers). The call will follow these selected instructions. Pay attention to cover all possibilities.

 

tb_ccscripts: (used for questions)

id: autoincrement  PK

campaignid: the campaign where this script belongs to

ordernum: display order (used when jumping to next question)

title: script alias. also used for statistics

question: question in text format (can contain keywords. see the Keywords chapter for more details)

questionex: the question in rtf or html format

completition: completition marks can be used for statistical purposes.

oldid: used for cloning

datainputtype: used to control the gui for the anwer

            -----SIMPLE-----

Text

Number

Date

Time

Date-Time

Phone Number

CheckBox

-----LISTS-----

CheckBoxList

ListBox

RadioGroupList

DropDownList

DropDownListFixed

-----GRIDS-----

RadioGrid

CheckGrid

-----COMPLEX-----

Custom GUI

Run

-----ACTIION-----

ActionRecall

ActionReject

ActionAccept

 

tb_ccscript_answers: (used for answers)

id: autoincrement  PK

questionid: answer belongs to this question

ordernum: display order

answer: the answer text

alias: will be stored as answer (usually the same as the ‘answer’)

actioncontext: can be used for storing reject reasons or for data imput field specification

fields: used grids to determine its columns. Values must be separated by comma ‘,’ or semicolon ‘;’

jumpto: next presented question. possible values:

                        -3: no jump

                        -2: jumt to next question

                        -1: finished

                        -4: finised with voice

                        -5: jump forward

                        other: questionid

endcode: the endcode for the last answer (with a valid code) will be stored for statistical reasons. if you specify more endcodes, the last endcode will be stored in the database.

entercondition: simlple sql clause. if the condition result is true, than will jump to question ‘onconditiontrue’, othervise will jumpt to ‘onconditionfalse’

entercondition rules:

1. any sql in the following format: select … (if return 0 than the result will be interpreted as false, othervise as true)

2. simplified condition. can use the following keywords:

prefixes:

            any database table name (tb_cclient, tb_ccampain_clients, etc)

script (maps to scriptquestion.alias - scriptanswer.alias)

client (maps to tb_cclient)

cclient (maps to tb_ccampain_clients)

campaign (maps to tb_cccampaigns)

quotacount, quotapercent, completedcount, completedpercent, averagequotacompletition

suffixes: script alias names or table fields name

operators and functions: most of sql92 keywords will work  (=, <>, <, (,),TRIM, LOWER, AND, OR, etc)

examples:

1.  (script.alias = ‘fidesz’ or scriptcode.alias = 3 or  quotacount.quotaalias  >0)  and (LOWER(client.name) = ‘john’)

2.  quotacompletedpercent.quotaalias  < 100

see the keywords section for more details!

onconditiontrue: if the entercondition result is true, than the next question will be the question with this order (ordernum)

onconditionfalse: if the entercondition result is false, than the next question will be the question with this order (ordernum)

 

Running external applications:

set the datainputtype to “Run”

specify application name and parameters in the “Command” field.

keywords can be used as part of command.

the following Parameters are defined (separe them with comma)

            -hide: will launch the appication hided

            -wait: will wait for the application to terminate

 

Text Mask:

Use EditMask to restrict the characters a user can enter into the masked edit control to valid characters and formats. If the user attempts to enter an invalid character, the edit control does not accept the character. Validation is performed on a character-by-character basis by the ValidateEdit method.

 

A mask consists of three fields with semicolons separating the fields. The first part of the mask is the mask itself. The second part is the character that determines whether the literal characters of a mask are saved as part of the data. The third part of the mask is the character used to represent unentered characters in the mask.

 

These are the special characters used in the first field of the mask:

!           If a ! character appears in the mask, optional characters are represented in the EditText as leading blanks. If a ! character is not present, optional characters are represented in the EditText as trailing blanks.

 >         If a > character appears in the mask, all characters that follow are in uppercase until the end of the mask or until a < character is encountered.

 <         If a < character appears in the mask, all characters that follow are in lowercase until the end of the mask or until a > character is encountered.

 <>       If these two characters appear together in a mask, no case checking is done and the data is formatted with the case the user uses to enter the data.

\           The character that follows a \ character is a literal character. Use this character to use any of the mask special characters as a literal in the data.

 L         The L character requires an alphabetic character only in this position. For the US, this is A-Z, a-z.

 l          The l character permits only an alphabetic character in this position, but doesn't require it.

A         The A character requires an alphanumeric character only in this position. For the US, this is A-Z, a-z, 0-9.

 a         The a character permits an alphanumeric character in this position, but doesn't require it.

C          The C character requires an arbitrary character in this position.

 c         The c character permits an arbitrary character in this position, but doesn't require it.

 0         The 0 character requires a numeric character only in this position.

 9         The 9 character permits a numeric character in this position, but doesn't require it.

#          The # character permits a numeric character or a plus or minus sign in this position, but doesn't require it.

:           The : character is used to separate hours, minutes, and seconds in times. If the character that separates hours, minutes, and seconds is different in the regional settings of the Control Panel utility on your computer system, that character is used instead.

 /          The / character is used to separate months, days, and years in dates. If the character that separates months, days, and years is different in the regional settings of the Control Panel utility on your computer system, that character is used instead.

 ;          The ; character is used to separate the three fields of the mask.

 _         The _ character automatically inserts spaces into the text. When the user enters characters in the field, the cursor skips the _ character.

 

Any character that does not appear in the preceding table can appear in the first part of the mask as a literal character. Literal characters must be matched exactly in the edit control. They are inserted automatically, and the cursor skips over them during editing. The special mask characters can also appear as literal characters if preceded by a backslash character (\).

 

The second field of the mask is a single character that indicates whether literal characters from the mask should be included as part of the text for the edit control. For example, the mask for a telephone number with area code could be the following string:

 

(000)_000-0000;0;*

 

The 0 in the second field indicates that the Text property for the edit control would consist of the 10 digits that were entered, rather than the 14 characters that make up the telephone number as it appears in the edit control.

 

A 0 in the second field indicates that literals should not be included, any other character indicates that they should be included. The character that indicates whether literals should be included can be changed in the EditMask property editor, or programmatically by changing the MaskNoSave typed constant.

 

The third field of the mask is the character that appears in the edit control for blanks (characters that have not been entered). By default, this is the same as the character that stands for literal spaces. The two characters appear the same in an edit window. However, when a user edits the text in a masked edit control, the cursor selects each blank character in turn, and skips over the space character.

 

Setting EditMask to an empty string removes the mask.

 

tb_ccscript_processing: (used for storing answers)

id: autoincrement PK

datum: row age

operatorid:  the id of the caller operator

clientid: the id of the called client (from tb_cclient)

ccid: campaign_client foreign key

questionid: the id from tb_ccscripts

answerid: the id from tb_ccscript_answers

answervalue: entered value (saved as text, but can represent other data type. for example date-time)

 

Note:

 

data inputs can be saved to tb_cclient or tb_campaign_clients if specified so. column names must be prefixes with client. or campaign. keywords. see the keywords section for more details

 

all script answers (including data input) will be saved to tb_ccscript_processing

list answers will be separated by semicolon ;

grid answer will be saved in separate columns where the column title will be the tb_script.title + the grid column title

 

4.9.4. GUI Designer

The TAgent Automatic Call form user interface can be customized in the MManage -> GUI Designer.

Basic MSWindows controls and specific controls are supported.

 

Note: the dynamic TAgent gui will be loaded only if the “autoformname” setting is set to “dynamic”. Othervise other company specific form will be loaded.

 

Typical workflow:

1. Load a default gui from file

2. Drag and drop controlls on the gui area

3. Set controls properities

4. Save the new gui in the database (the “New” checkbox must be checked, otherwise will overwrite!)

5. Set campaign gui to the newly created one (or set it to a script question as a data input gui)

 

Text controls can contain dynamic data if the control “Data” properities are defined in the following way:

-[tablename.fieldname]: simple map to the required field

            if the control is not read-only, than the edited value will be saved back in the database

-[select  …]: any select condition

            -only the first column in the first row will be considered        

-keywors (see the Keywords chapter)

 

Specific controls:

-Script question: space for displaying script questions

-Script answers: answer list. Deprecated!

-Script data: space for displaying script answers and choices

-Recall label: will display the call “recall” status

-ProgressBar: for displaying the call progress (the position in the script)

-Ok: save script answer and jumpt to next question

-Skip: jump to next question without saving the current

-Hangup: dropp the current call

-Pause: no more new calls

-Next Client: force jump to next client (will hangup the current call if any)

-Recall: set client for later recall

-Reject: will set the rejected flag

-Hold: call hold (mute all directions)

-Display call status: display called party name and call duration

-Call Statistics: operator statistics

 

4.9.5. Quotas

You can define campaign target quotas by launching the “CC Quotas” form from MManage.

By defining quotas, you can restrict your calls to well defined target groups (called clients).

 

Database fields:

id: autoincrement  PK

allowed: deprecated

campaignid: foreign key to tb_cccampaigns.id

alias: the name of the quota (any string here)

condition: sql clause applied for tb_cclient and tb_ccampain_clients. All separate expressions must be included in barckets!

found: found clients after fixed condition
quotacount: number of desired interviews

quotapercent: percent of desired interviews from global quota. the global quota can be specified in the campaign settings, or is calculated automatically

status: any number. you can refer to it from scripts. for example when you don’t want more calls for a quota, set the status to 1

            and check it in the script enter condition (if quotastatus.myalias = 1 than jump to finish)

autobalace: calls will be automatically balanced based on condition (if the condition can be evaluated)

            othervise the quota completition percent doesn’t effect the calls  deprecated

completedcount: number of completed interviews

completedpercent: competed interviews in percent

enabled:

            -0: ignored (instead of deletion)

            -1: ignored on server (but can be referenced from scripts)

            -2: default

Block: if set to 1, than calls to clients that meets the quota condition will be disallowed

Autostop: if set to 1, than call will be blocked when the completedpercent reach 100%

 

Either quotacount or quotapercent need to be specified.

If the global quota for the campaign is not specified, and only the quotapercent is specified for the campaign, than the quota will remain invalid.

 

Note: call record must reach a completition question to be valid in quota calculations

4.9.6. Presentations

Used to store the different presentation locations. When a client is invited, the operator will select a presentation for them.

Presentation can be selected dynamically in TAgent by setting the sql condition in the script form.

It can be done by tree way:

1.      leaving emty

In this case the following query will be run: select top 150 id,Name,startdate,remainusers,comment from tb_ccpresentations with(nolock) where > getdate()  and campaignid = :assignedcampaign  order by startdate, name

2.       using only the sql clause

for example: name like ‘%hotel%’

the default clause is:  startdate > getdate()  and campaignid = :assignedcampaign

3.      using a complete sql.

In this case the “id” and a “displaytext” field must be returned.

Example: select id, name+’ ‘+comment as displaytext from tb_ccpresentations where name like ‘%hotel%’

The usual keywords can be embedded in the sql scripts. See chapter Keywords.

4.9.7. Checklist

Can be used in persentations to print the list of invited users.

Status texts can be configured in tb_ccstatus. To be compatibile with other version, change the texts to corespond with the original without changing the statusid.

The “Print Invitations” button will print all invitations in the selected campaign/checklist whose status indicated that it was not printed prior.

4.9.8. Clients

The client (phone number) database.

Clients can be assigned and/or reassigned to campaigns with the ease of this form.

You can search across client by a lot of condition presented on this form.

 

By selecting the “Last Status” filer, the users can be searched by the reason code in the last campaign

By selecting the “Any Status” filer, the users can be searched by the reason code in any campaign

 

Importing client database can be done from external csv or dbf files. These files must have the following fields:

CSV file columns (must be in this order):

-Name (string)

-Landline phone number (string)

-Mobile phone nuber (string)

-Zipcode (short string)

-City (string)

-Age (number)

-Passport (0 if unknown, 1 if no or 2 if yes)

-Married  (0 if unknown, 1 if no or 2 if yes)

-Sex  (0 if unknown, 1 if no or 2 if yes)

-Robinson  (0 if unknown, 1 if no or 2 if yes)

-Address (string)

-Comment (string)

DBF files must contain the following columns (can contain other columns too):

                -UNEV: user name

                -TEL: phone number

                -VAROS: city

                -UTCA: address

                -ROBIN: robin

                -IRSZ: zipcode

 

At least the landline or mobile phone must contaion a valid entry.

 

4.9.9. Campaign Clients

For every campaign clients must be assigned. This means loading records from tb_cclient to tb_ccampain_clients. Records from tb_cclient are usually not modified during the campaign. All modification will be done in tb_ccampain_clients and in tb_ccscript_processing (scrip answers).

 

tb_ccscript_processing database fields:

id: PK, unique identifier (autoincrement)

campaignid: foreign key pointing to tb_cccampaigns.id

clientid:  foreign key pointing to tb_cclient.id

clientname: first characters from tb_cclient.name. (denormalized here for speedup)

datum: client record assigment date

operatorid: last operator who have called this client

aquired: used in automatic calls for record locking. deprecated.

enabled: if 0, than this client will not be called again

calltrycount: number of call attempts

recalltrycount: number of recall attempts

lastfailtype: wich number has failed last time (0=unknown,1=mobile,2=landline)

called: the client has been called successfully

needrecall: 0: no need for recall, 1=recall set manually by the operator, 2=recall automatically due to unhandled incoming call,3=other recall reson, >=4: already recalled

recalldate: date-time of the next recall attempt

lastcalldate: date-time of the last call attempt (successfully or failed call)

comment: any comment (can be filled by operators)

randorder: deprecated

numstatus: wich number is present.  0=both are missing,1=only landline,2=only mobile,3=both (denormalized here for speedup)

guidrand: used when clients need to be called randomly (not in database or A-Z order)

rejected: 1 if the call was rejected (rejected by user not by the phone)

rejectedreason: optional comment when rejected

 

4.9.10. Campaign and global settings

Allowdbcalls: allow calls from database in tagent

Allowmanualcalls: allow manual calls in tagent

Callmaxring: max ringtime when automatic calls in sec

Callnumbertype: 0=start with landline, and if fail, call mobile,  1=start with mobile, and if fail, call landline, 2 =call only landline, 3 = call only mobile

Maxcalltrycount:  max number of calls to a client (except recalls).

Maxrecalltrycount:  max number of recalls to a client.

Recallrestrictions: 0=try to recall with the same operator, but allow other if no recall, 1 = only with the same operator, 2=any operator can recall, 3 =disable recalls

Predectivedial:  predective dialing: 0=don't use, 1=onfree, 2=onfree + periodic,3=periodic,4=automatic,>4=automatic will switch to 2 if this number is operator reached

predectivelogging: will save detailed logs about predective activities and statuses

waitforpredective: timeout in sec to wait for a free operator on connect. 0 disables waiting. -1 will disconnect all calls in progress (ringing) when there are no more free operators.

Predectivecorrection: initiated call count correction  in percent (for example 80 will generate calls faster by 20%)

Callbackhandling: 0=dropp calls, 1=forward to the same UE if exists, 2=forward to a free operator, *3=try to forward to a operator but on fail route to the same UE, 4= forward to UE and if not exists than to a free operator , other=forward to the specified number

Callbacknumber: special threatments when this number is called. When the predective caller user is already created, than the callbacknumber is its username

Callbackroutenumber: called operator when callbackhandling is 1,3 or 4. defaults to callbacknumber

ccorder: determine how clients are loaded

            0: campaing client id

            1: load calls from A to Z

            2: load calls from Z to A

            3: load calls in random order

            Other: not ordered

waitifnotconnected: wait after calls (callmaxwait sec) even if it is not connected (to allow opertor work)

callbackringtimeout: ring timeout on callback  (after than play ivr message if set)

callmaxwait: max waittime allowed for operators between calls (for administrative purposes)

callbackivr: play special messgae (callback.wav) if no operator found or ring timeout expired

callbackhandling: 0=dropp calls, 1=forward to the same UA if exists, 2=forward to a free operator, 3=try to forward to a operator but on fail route to the same UA, 4= forward to UA and if not exists than to a free operator , other=forward to the specified number

callbackautorecall: 1= schedule for recall if number is in campaign,0=don't recall automatically

defrecallmin: the callback date-time selector will appear with this default recall minue

maxrecallmin:  max minute setting allowed for callbacks in tagent

finishvoice: calls will be finished with this voice promt

mobileratio_X_Y: the percent of mobile calls between hours X and Y

presentationmode: if to show presentation choice in tagent

recallonlyinsamecampaign: recalls allowed from other campaigns too

desireddropprate: optimal percent of calls wich cannot be assigned  to operators (-1: disable, -2: dynamic)

maxcallsperminute: max new call attempts/minute (-1: disable, -2: dynamic)

maxcallatonce: max call launch/branch (used for additonal checking)

statival: statistics recalculation interval in sec (-2: dynamic)

stopwrongcdrc: will pause  predective execution for 15 minute if subsecvent “stopwrongcdrc” calls are less than 8 sec to guard agains service provider error

scriptnavigation: allow script navigation in tagent (0=no, 1=only forward, 2=only back, 3 = forward&back, 4 =all navigation, 5=allow navigation when not connected, 6=allow edit too)  

datainputmode: 1=store only in client and cc_client tables, 2=store in cc tables and to default field to, 3=store in cc tables and in script processing, 4=store in all locations

savemode:

1=automatic –will save on when moving to next question  (don’t display ok button)

2=save only when the ok button was pressed

3=with skip button

4=ok+automatic

5=cannot skip. user must press ok button to be able to move to next question

blockrejected: when the tb_ccampain_clients.rejected is set to 1 by operators, than will set tb_cclient.robinson to 1 automatically

loginmessage: message to be displayed for the operators on TAgent launch

allowopcampchange: allow operators to change their campaign

maxrecallbefore: callbacks can be initiatet “maxrecallbefore” minute before the specified time

maxrecallafter: callbacks can be initiated by the operator untill “maxrecallafter” minute after the specified time. if the operator is not able to receive the call, than the call will be offered to other operators after maxrecallafter elapsed (and untill maxrecallafterall)

maxrecallafterall: callbacks will be invalidated if not able to give to any operators when this timeout elapse

quotastatrecalcival: quota statistics recalculation intervall (specified in second)

 

Note: the predictive dialer is not so precize when started after a  long time of inactivity.  Accuracy also depends on the number of operators (more operator means more accuracy).

 

4.9.11. Predective dialer

To restrict the operator waittimes, the calls can be prepared on the serverside and dropped to operators when they are waiting for it.

There are separate predective threads for all campaigns. The campaign predictive related settings will overwrite the global configuration

The predective thread will check if new calls are needed in every 1-20 sec (varies dinamically)

Calls are started based on the following variables:

-predective mode

            -1: new call will be made only when waiting operators found

            -3: new calls will be started regularry based on predective calculations

            -2: mix of 1 and 3

            -4: will switch between 1 and 2 dynamically

-operator count (all, active,waiting)

-call statistics (call count, asr, acd, dropprate) calculated on long term, midterm and short interwalls

-campaign and global configurations (desireddropprade, etc). Please check Global Settings for more details.

The thread activity can be logged in tb_predectivelogs, othervise the standard logs can be found when searching to “predective”.

 

Calls are started by the PREDECTIVE_DIALER user (this will be created automatically if not exists), so the A number will be its number (loaded from the „callbacknumber” config when created automatically). When the called party pickup the phone, a free operator will be searched and the call will be towarded to it. So the call is already connected when it is presented to the operator. If the operator cannot handle the call, than a CDR record will be generated (usually with a short duration) but with a specified reason code.  Another special case is when there is no free operator found when the call is connected. In this case the disconnect reason will be set to „No free operator on predective”.

If the embedded dialer speed dosn’t satisfy your need, you can control the speed by changing the desireddropprate and the predectivecorrection configuration. The predective functionality perform better as there are more operators (more than 10).

 

Predective related settings:

-          Callbacknumber: "A" number for calls. For example the predective dialer will use this number

-          Desireddropprate: optimal percent of calls wich cannot be assigned  to operators when in predective (-100 has no effect)

-          Maxcallatonce: max number of calls in one round when in predective (error guard)

-          Maxcallsperminute: max new call attempts/minute when in predective (error guard)

-          Predectivecheckival: controlls the speed of the predective dialer thread -advanced technical setting

-          Predectivecorrection: correction of precalculated success ratio statistics in predective. for example if we set it to 80, than there will be more calls with 20% than the precalculated optimal

-          Predectivedial: dialing mode: 0=simple tagent requests,1=automatic on free clients,2=predective inteligent, 3=simple predective, 4=set automatically

-          Predectivelogging: details of predective logs (0=no logs,1=minimal,2=nnormal,3=max log)

-          Statival: rebuild predective statistics interwal (-2 = automatic)

-          Stopwrongcdrc: pause predective if the ASR is too low (error guard)

-          Waitforpredective: max time to wait for a free operator when a predective call is connected

-          Waituntillconnected: if set to false, than will dropp started call when no more operator waiting (no more "No free operator on predective" disconnect reason)

 

 

4.9.12. Outgoing callback

There are two types of callbacks:

1. operator set Recall (1) manually

2. server receive an incoming call and set to Callback (2) automatically

 

Client records will be marked when callbacks or recalls are needed. The following values are defined for the „needrecall” field:

-0: not set

-1: recall set by operator

-2: callback set because incoming call

-4: recalled

-5: callback completed

 

Callbak numbers:

Special A numbers are the followings:

-          callbacknumber

-          predective dialer number

-          identityrewrite number for outgoing proxy

these should be set to the same number. By default it is loaded from „callbacknumber” global setting

*if the callbacknumber is not set, the predective dialer will use “1111” by default

* identityrwmode global setting should be set to 1 for callcenters

*if the CLI is hided, than there will be NO incoming calls,

to enable CLIP you must set the “identityrwmode” setting to 1 or set the CLI for users to 1

 

 

The „callbackhandling” global setting will determine how incoming calls to callbacknumber will be handled. Incoming calls when the caller is not found in any campaign will be inserted to the client table with a name set to “unknown callback”.

 

Make sure to setup the callback number on the main server to be routed to the actual virtual server! (check faq)

4.9.13. Incoming calls

Incoming calls can be handled in different ways:

1.      Simple distribution across operators

2.      By specifying a callbacknumber and setting the callbackhandling option.

3.      Handling by the IVR

4.      Make incoming campaigns

 

Incoming callers (clients) identity can be loaded from database when the call arrives. If the client data is not found, then can be added to database automatically.

 

In the TAgent the call can be handled in the following ways:

1.      Dropp all

2.      Show in Manual Call

3.      Show with client data

4.      Show in “Auto Calls” with the actual script

 

The following config settings will be applied:

 

CampType:

                0 or NULL=default

1=callcenter (OUT)

                2=IVR (IN)  -new numbers will not be requested from the server

                3=Mixed  -incoming calls can be received from ivr, but from dialer too

 

Callbackhandling:

0=dropp all

1=route to callbackroutenumber

2=route to free operators

3=route to free operators, and if not answered than route to callbackroutenumber

4=first to callbackroutenumber than to free operators

Callbacknumber:

                "A" number for calls. For example the predective dialer will use this number

Callbackringtimeout:

                ring timeout on callback (after than play ivr message if set)

defrecallmin ring timeout on callback (after than play ivr message if set) defrecallmin

callbackroutenumber:

                number to be dialed on incoming calls when callbackhandling  is 1,3 vagy 4

ivr_addmissingusers: -applicable on serverside ivr calls and in tagent

0=no  -default

1=add to client table

2=add to campaign client

addmissingusersto: -in wich campaign to add the incoming client

                0=add to the current campaign (default)

                other=add to the specified campaign (campaign id)

Handlingincoming:

  0=not handled

  1=allow to search the current campaingn for the incomig number

  2=allow to search and edit the current campaingn for the incomig number

  3=allow to search the whole database for the incomig number

  4=allow to search and edit the whole database for the incomig number

  5=show scripts form

 

Handlingincoming:

  0=not handled

  1=allowed

  2=show scripts form

IncSearch

  0=no automatic search

  1=allow to search and edit the current campaingn for the incomig number

  2=allow to search the whole database for the incomig number

  3=allow to search and edit the whole database for the incomig number

 

 

Incoming campaigns:

1. First you must define your phone numbers wich will handle the incoming campaign(s).

2. If the server is a virtual server, you must setup your main server to route that numbers to the virtserver (See this caption for more details)

3. You must add this numbers to your user list, and assign an IVR for them.

4. For the IVR campaign set the “CampType” field to 2 and don’t forget the ivr_addmissingusers and handlingincoming settings

5. Create the TAgent script and GUI in the MManage.

6. Assign some operators for the campaign(s).

 

4.9.14. Keywords

The following controls can contain keywors:

            -script question

            -script answer

            -script enter condition

            -quota condition

Table name abverbiations:

camp => tb_cccampaigns

client => tb_cclient

campaign => tb_ccampain_clients

script => tb_ccscripts with answertext

scriptcode  => tb_ccscripts with code

scriptquestions => tb_ccscripts

scriptanswers => tb_ccscript_answers

quota(s) => tb_ccquotas

The following keywords are defined:

            -all database fields from tb_cclient, ccampain, tb_ccampain_clients, tb_ccscripts, tb_ccscript_answers and tb_ccquotas    

            -[currentnumber] current called number

            -[callduration] call duration

            -[ringduration] ring duration

            -[callstarttime] begin time

            -[callcount] number of call attemts

            -[currdatetime], [currdate], [currname] current time/date/date-time

-[currweekday], [curryear] weekday, year, month, min, etc

            -[bell] bell

            -[campaignname] campaign name

            -[opusername] operator username

            -[opname] operator name

            -quotacount

            -quotastatus

            -quotapercent

            -quotacompletedcount, completedcount

            -quotacompletedpercent, completedpercent

 

Embedding controls in texts:

Basic:

 Keyword embedded in square brackets [xxx] will be replaced with dynamically loaded data. (Label)

 Keyword embedded in kapcsos brackets {xxx} will be editable (loaded and saved to/from edit control) (Edit)

Advanced:

You can define other controls by the following text rule:

{ControlName|Width|BindValue|Item1|Item2,...}

The following control types are defined: Edit,Memo,ComboBox,ComboBoxRo,CheckBox,RadioButton,Date,Time

            Examples:

                                {ComboBox|150| tb_ccampain_clients.faworiteos|Mac|Windows|Linux}

{ComboBox|200|tb_cclient.phone_landline|elsooo|masodiiik|harmadiik}

{Date|300|tb_cclient.recalldate}

Controls that can contain keywords, can also contain simple select conditions.

For example for list controls in the answer field a simple sql query can be specified wich can return one ore two columns, wich will represent the list items.
If two columns are returned, the first should be a number (key).

 

4.10. MAgent

The MAgent application is used by callcenter operators as a sip client and database frontend.

4.10.1. Login

Enter server settings and authentication info here to login.

The following values are required on login:

App Server: server ip address

Instance: Application and database instance (because a single server can hold several virtual server)

Data port: defaults to 1433 (or 2223 for older versions)

Database username: the same for all agents

Database password: the same for all agents

Username: agent username

Password: agent password

 

4.10.2. Manual Call

Simple VoIP client window where the operator are free to make calls to any number

4.10.3. Calls from database

Call to any client presented in the central database.

4.10.4. Automatic calls

Will handle calls automatically if the operator is part of a campaign.

4.10.5. Automatic software upgrades

Mizu client applications can check for newer version and selfupgrade.

 

The following modules are responsible for handling software updates:

-TUpdater.exe: to download the new software from a central directory (usually ftp)

-TUpdLaunch.exe: will check for new downloaded software on every main software start (will make backup of the old sw)

 

For autoupgrades to work the following tasks must be done:

-copy the new softwares in the ftp/specifieddirectory

-insert a new record in tb_autoupdate

swname: the name of the main software executable that needs to be updated (for example: TAgent)

mode: 0: ask the user first, 1: automatic install

version: new software version. make sure that this is correct especially when you use * in “oldversions” to avoid endless update!

oldversions: client softwares will check this record to know if the new software can be applied (* mean all)

forusers: applicable for this users (* or database user names separated by comma –login names from tb_users)

host,username,password,dir: ftp parameters. make sure than the user will have access to the files!

files: files that must be updated (separated by comma)
comment: will be displayed for users (new features, corrected bugs, etc)

 

Make sure that the version of the new software is bigger than the current and is not in the “oldversions” list, because otherwise will result in an endless update proces!

 

4.11. IPCentrex

 

In addition to supporting class5 features according to sip rfc’s, drafts and recommendations, most of the features normaly held on UA are implemented on the server side also and can be accessed by dtmf messages (client device must be able to send DTMF as INFO or RFC2833 at least)

 

4.11.1. Call Rerouting

Failed calls (error code, no answer) will be rerouted automatically to the next device according to routing preferences.

4.11.2. Ring Groups

User devices can be configured to ring in different locations (by filling tb_users.ringgroup with phonenumbers/usernames separated by comma).

Single line extensions are supported.

 

4.11.3. Caller ID

You can setup the caller id display/hide (CLIP/CLIR) function by changing the CLI setting for the actual user.

 

The following values can be used:

            0: forward always   (forward asserted as normal number always!);

            1: normal handling (forward asserted as normal number) –default;

            2: forward as asserted identity always (identityrewrite asserted);

            3: forward as asserted identity only to trusted domains (identityrewrite asserted);

            4: normal hide (no idenityrewrite forwarding) ;

            5: force hide (no asserted identity too!).

The SIP Privacy method is also supported.

4.11.4. DTMF

H323 gateways support the following DTMF send/receive methods:

-as Q931

-as String

-as Tone (In-Band)

-as RFC2833

SIP endpoints support the following DTMF send/receive methods

-INFO method

-as Tone (In-Band)

-as RFC2833

DTMF in GSM network (send/receive):

            -InBand DMTF

The SIP Sofswitch (server) will parse DTMF received:

-INFO method

-as RFC2833

-convert from the above modes to “in-band” dtmf if needed

 

Usually In-Band DTMF are supported by any wendors in endoint devices but will not be parsed on IVR servers because of high computation requirments to decode the encoded RTP channels.

4.11.5. Call Hold

The call-hold feature is implemented according to SIP specification. Most UA will support it.

4.11.6. Call Forward

You can enable the call forward feature by filling the following fields in the user configuration form:

forwardonbusy: telnumber where we have to forward the calls when busy

forwardonnoanswer:  telnumber where we have to forward the calls when we have no answer or the called user is not online

            set the “noanswertime” value after your preferences

forwardalways: rerouting

 

Call forwards are also supported by the Moved” (code: 300-305) SIP message, so users can set the call forward in their phones (no need to change the “forwardalways” setting on the server)

 

The server behavior can be controlled by the “canmove” global config option:

0=not allowed

1=forward the 3xx message 1 to the caller (default)

2=callednumber change allowed (not safe, because pricing can change in different directions)

3=domain change allowed (not safe, because pricing can change in different domains/directions)

4=call routing again

 

4.11.7. Call Transfer

-The standard sip calltransfer protocoll is supported (REFER, replaces methods) using the transfer button on sip phones, but because many sip devices have problems with call-transfer, the DTMF mode transfer is supported. If the transfer fails, than the Cisco “Also method is also supported for transfer failover.

-Calls can be transferred by the following dtmf digits:

*9*number#      -> unattended transfer

*8*number#      -> transfer with consultation

-You will hear a music if the calltransfer is in progress, or a failure notice if it failed.

-After the transfer successfully begun (ringing to the new client), you have the following DTMF options:

1: talk with the new called party when it is connected (not possibile if already is connected),

    for example to discuss the purpose of the caller.

    When you hangup, the caller and the new called party will be connected.

    You don’t need to press 1 if you have started the transfer with consultation  (*8*).

2: disconnect the new called party and talk with the original caller (not possibile if already tranferred)

    for example you can redirect the caller to a new destination

3: stay in line with the old client (you have to hangup when you finish to complete the transfer)

 

Note: DTMF ** will always reset your already entered digits to *

Technical description:

 

Structures:

calltype = eTransfer

//for the transferrer client ep

transferstate; //0=unknown, 1 = mute to all, 2=talk with old client, 3 = talk with new client, 4 = talk with both clients

because we have 2 client ep (called) for the server (caller):

GetOldTransferClient(); //will return the operator

GetNewTransferClient(); //will return the new client

 

Workflow:

Unconditional dtmf received (*9*number#)

Set Istransferrer = true

RouteCall()

                If fail than play transferfail

 

4.11.8. Three-Way Calling

Three way dialogs with callholds are supported.

 

4.11.9. Call Waiting and queuing

Call waiting scenarios are supported. Need to be implemented in UA to work.

Group hunting and queuing are implemented only in callcenters.

 

4.11.10. Call Take-Over

You can pickup or transfer an incoming or existing call to any other device, by dialing *7*origcalled on the target device.

You must be in the same user group or billed user for this feature to work. The SIP replace method is also supported.

 

4.11.11. Conference Calls

Two way conversation can be extended to multyparty by inviting new members with the following DTMF sequence:

            *1*number#

Only the session initiator (original caller) can invite new members to the conversation! When the session initator left the conference, the conference will be destroyed (other members will be disconnected too).

4.11.12. Voice Mail

You can enable the voicemail feature by selecting the “voicemail” option for the required user.

Recorded voices will be sent to the user email address in wave file attachment.

Users can replay the last voicemail by the following DTMF digits:

            *3*

4.11.13. Voice Recording

 

The voice recording option can be set for any user by checking the “Record” checkbox on the user configuration form in MManage.

Conversation will be saved in the directory specified by the “serverftpvoice” global config option.

The exact location will be: serverftpvoice\databasename\currentday\voice.xxx

A separate backup can be created in the directory specified by the “voicebackupdir” global config option.

Out of date recorded files can be deleted by setting the “keeprecorded” option accordingly (days to keep).

Recorded files are compressed and encrypted by default.

On new server installation, make sure that the voice directory is accessible via ftp for the MManage (for listening on the “CDR Record” form). To make things easier it is preferable to setup the ftp passwords the same as the database login.

Recorded conversation can be downloaded from the web.

Users can replay the last record by the following DTMF digits: *4*

4.11.14. IVR

You can assign an IVR menu to any user if you set the “ivr” field to a valid IVR id.

IVRs are directly mapped to campaigns and can be edited in the script editor. Set your CampType to 2 if you have assigned to an IVR. See Scripts for more details.

 

The following actions can be defined at serverside:

Wait for DTMF: wait untill match or eof characters found or timeout

Play a File: play any voice message. A repeat count can be defined. You can choose to jump to next action when the play beguns, or only when finished (the client will have to listen the whole message before he can move forward with dtmf)

If you uncheck the “Wait for playback to finish”, than the IVR will continue with the next action immediately and the playback will be stopped only when a “stop pending playback” condition is reached or a new playback is started.

Play SQL Result: you can write any sql query here. The first field in the first column will be played. The SQL can contain keyword, defined below.

Forward to Phone Number: forward the caller to any number.

Forward to Group:  forward the caller to a group.

Forward to SQL: forward the caller to the phone number or username returned by custom sql.

            Forwardig will be tried “retry” count in every “forwardretrytimer” sec.

Charge: unused (use “execute sql” for charging).

Mailbox: unused (use “execute sql” and the “record” actions to implement a custom mailbox).

Execute SQL: execute any sql command (check allowed keywords below).

Record: record conversation. Can be used for voicemail recording.

Delete Recorded: delete current recorded and start playback the next recorded audio.

Next Recorded: playback next recorded audio (leaving the current).

Prev Recorded: playback prev recorded audio.

 

Text playback will be handled in different ways for numeric characters and for any other character. For numbers, the internal NumberToSpeech engine will be used (configurable in multiple languages). For any other text the default TextToSpeech engine will be used (available only in English in this moment).

 

For skill based callcenters you can use the “Forward to Group” or the “Forward to SQL” actions.

 

Voicemail can be implemented by the “record” actions.

 

Keywords at server side:

Ø  currentnumber

Ø  callduration

Ø  ringduration

Ø  opusername

Ø  opname

Ø  currdatetime

Ø  currdatetimesql

Ø  currdate

Ø  currweekday

Ø  curryear

Ø  currmonth

Ø  currday

Ø  currhour

Ø  currmin

Ø  currsec

Ø  calleruserid

Ø  calleduserid

Ø  proxyid

Ø  origcallernumber

Ø  callernumber

Ø  callername

Ø  origcallednumber

Ø  callednumber

Ø  calledname

Ø  techprefix

Ø  called_norm

Ø  auth_username

Ø  auth_password

Ø  transportip

Ø  fromip

Ø  rtprecip

Ø  transportport

Ø  fromport

Ø  rtprecport

Ø  callertype

Ø  callstate

Ø  cc_clientid

Ø  cc_ccid

 

Technical description:

On routing if calleduser.ivrid > 0 than set ep ivr_id and calltype to eIvr

                No other ep will be created

                ivr_id is the campaignid

On invite (after routed)  if calltype = eIvr () call IvrAction(actIvrStart);

IvrAction(EIvrActionType actiontype)

1.        the actiontype will tell what was happened: actDefault, actIvrStart, actReady, actUserInput, actTimeout, actFail

2.        load the scripts if already not loaded

3.        Check next action todo (jumpto). Especially check for dtmf input action

a.        if actiontype == actUserInput than check if input finished (eof or maxlen)

b.        if play finished and need to repeat, than play again

c.        othervise set jumpto

4.        JumpTo next action if needed (check enterconditions)

5.        Do the next action (datainputtype, if any)

       Play file, execute sql, forward, etc

 

 

4.11.15. CallBack number

Used for handling incoming calls by callcenter operators.

See the “callback“ global config option.

4.11.16. CallBack services

Callback services can be implemented by entering the number to call on the website or by CID or ANI callback.

To define access numbers set tb_user.iscallback to the requied ivr (campaignid) and tb_user.anumberlookup to 1.

The calls will be authenticated based on “ivrauthentication” global config value  and/or  “iscallback” user field. When using only A number authentication be avare of frauding possibilities.

 

Callback will be initiated from “callbackcallernumber” A number or from the user who received the call if “callbackcallernumber” is not specified.

The callback will automatically start the IVR specified in the “iscallback” field or in “ivrid” field of the access number.

 

Ivrauthentication is deprecated. Use the anumberhandling global configuration: 0=disabled,1=only add, 2 = only accept, 3=add and accept (default)

 

 

iscallback

Ø  1=act based on anumberhandling (default - connect to the ivr if not authenticated as enduser, othervise callback immediatly)

Ø  2=connect to the ivr if not authenticated as enduser, otherwise callback immediately

Ø  3=connect to the ivr if authenticated as enduser, otherwise callback immediately

Ø  4=drop the call if not authenticated as enduser, otherwise callback immediately

Ø  5=drop the call if authenticated as enduser, otherwise callback immediatley

Ø  6= callback immediately always

Ø  7=always ivr

Ø  other=ivr id to use (otherwise will check the "ivrid" field)

 

Example 1: if you want to call only authenticated users (no expense for failed authentication on callback):

Ø  ivrauthentication: 1

Ø  iscallback: 1

 

Example 2: if you have a free to call number or you can afford the callback payment to unauthenticated users then you can use the following settings:

Ø  ivrauthentication: 1

Ø  iscallback: 8

 

Example 3:  no free callback and no trust in A number authentication

Ø  ivrauthentication: 3

Ø  iscallback: 2

 

*Note: if you would like to allow calls to IVR or to callback numbers from not authenticated parties, then  set the “freeivraccess” and “freeaccessuserid” configuration options accordingly.

 

Technical details

1.        call initated from console, db check or iscallback user

2.        mainlogic process asyncCallback and initiate call

3.        client endpoint changed to server ep on connect

4.        ivr starts requiring pin if needed and the target number

5.        ivr callforward with 2 leg billing

4.11.17. Calling Card services

For a calling card service you must setup an IVR (and a campaign) that will handle the authentication and forward the call to the requested destination.

To create an access number, add a “power user” and set the ivrid to the campaign id you wish to use.

 

You can also allow authentication based on A number by setting “anumberlookup” for the traffic sender.

Example IVR:

  -Play File: Welcome to xxx. Please enter your PIN number

  -Wait for dtmf (aquire PIN digits)

  -CallingCardAuthentication: (Will check the pincode in the database). On success go to next item, on fail play a promt to try again

  -Play File: Please enter the destination number

  -Forward to phone number [dtmftrimmed]  (call forwarding)

  -Finish (release ivr)

If you want to bill the user for calling the ivr, then set the “ivrbilling” global config to “0”. Otherwise set to “1” and only the forwarded call will be billed.

If you need 2 leg billing, then set the “ivrbilling” value to 2. In this case 2 CDR records will be genrated for the original caller.

 

PIN codec can be stored in the user table. Their type must be set to 0, isoperator to 6 and authentication based on username (5)

The authentication can be based on username, password or username+password or depending on the “callingcardauth” config option.

The following values are defined:

            0=calling card username or enduser username + password or enduser username + pin (default)

1=callingcard username

2= callingcard password         

3= callingcard username+password

4=any username

5=any password

6=any username+password

7=any username+password or username+pin

8=username for callingcard and username+password or username+pin for other users (default)

9=pin

10=password or pin

 

Calling cards can be generated in batch from the Tools menu.

4.11.18. Phone to Phone (P2P) calls

You can implement this service on your website or in softphone.

The calls can be initiated with the following methods:

  1. connect to the server console (a TCP connection) and issue the p2p call command. All communication can be encrypted and the clients are authenticated properly.
  2. Insert a new record to tb_conferences with type set to 3

 

The billed user will be the logged in user. The p2p command has 3 parameters. A number, B number and IVR id (optional).

2 CDR records are generated for these calls, both of them billed to the initiator (based on your usual pricing).

The call to the A number will be initiated from “callbackcallernumber” configurable number or from the user who initiated the call.

 

You must set the “checkdbconf” global config value to true if you need to initiate phone 2 phone calls from the database (initiated from website for example)

4.11.19. SMS

SMS messages can be sent by connecting to the console port or by simple chat message (mobile phones can be checked and converted to SMS instead of IM)

Incoming SMS requests can be converted to http get requests and forwarded to an sms gateway defined by the smsurl global config value. In the smsurl you can use the following keywords: fromid, fromnum,message,smsid.

SMS messages billing can be specified by selecting SMS as the service type on the Price setup form. The “smstime” is set to 60 sec by default.

If no pricing found, then the sms messages will be billed by “smsprice” value.

 

4.11.20. SMS callback

SMS messages can be sent by connecting to the console port or by simple chat message (mobile phones can be checked and converted to SMS instead of IM)

If you subscribe to an SMS provider (like clickatel) the server can receive SMS messages (usually on http port 8084) and initiate actions regarding the content.

 

By sending an sms messages users can initiate callback, register a new A number for CLI authentication, initiate phone to phone call or add credit to your account.

There are different formats for all functions (short/long - depending on the authentication method). The server can use A number based authentication for the incoming sms messages. If the CLI is hided, or the A number is not specified then the users have to send their username and password or a pincode.

Instead of SMS callback we can recommend the phone to phone functionality. (In this mode the users don't have to work with the IVR. the 2 phone number can be interconnected immedialty)

 

The authentication of the requests is done based on “callingcardauth” global setting.

Pincode can represent the concatenated username and password (if allowed by callingcardauth)

 

The following formats are defined:

 

general

username password number1, number2

pincode number

number

pincode

b (pincode based authentication. the A number will be called back)

 

general requests will result in a p2p call when at least 2 number is known. If only one number is know, than it will result in generating a callback to that number. Two numbers can be supplied, one by sms and the another number can be known from the sender CLI.

 

callback:

b username password number  (username and password based authentication and the number to be called)

b pincode number (pincode based authentication and the number to be called)

b number (pincode based authentication only the number to be called have to be sent)

b (pincode based authentication. the A number will be called back)

 

 

register new number:

n username password number

n pincode number

n number

 

phone to phone:

p username password number1 number2

p pincode number1 number2

p number1 number2

p number2

 

add credit:

c username password rechargecode number2

c pincode rechargecode number2

c rechargecode number2

c rechargecode

 

Example http request:

POST / HTTP/1.1

User-Agent: Clickatell MO Callback

Host: 99.99.99.99:8084

Pragma: no-cache

Accept:

Referer: 99.99.99.99

Content-Length: 157

Content-Type: application/x-www-form-urlencoded

 

api_id=3144985&from=3611111111&to=3622222222&timestamp=2009-07-04 21:39:40&text=Test+1+2+3&charset=ISO-8859-1&udh=&moMsgId=5jv45t5tb42bavu34drftr

 

For callbacks you must define the campaign which will have the proper IVR content by the defcallbackivr global configuration setting.

 

 

 

 

4.11.20. Web (account access)

When you login to the Mizu website, you can do the followings:

-edit user details

-check statistics

-check CDR records

-initiate payments

-etc

4.11.21. Virtual Servers

You can create up to 100 virtual servers on a single pc. These are completly separate billing/routing/signaling entitites.

 

If you can afford, use a specific number prefix for each virtual server and setup the routing on the main server accordingly.

 

If a specific number scheme cannot be used:

On the main server you can specify to wich virtual server a number belongs in the “numbers” table (MManage -> Other -> Phone Numbers).  In the location field, the virtual server sipuser id must be entered. -1 means that the number belongs to the main server.

 

4.12. SIM-Bank

Skip this chapter if you are not using VoIP-GSM gateways.

4.12.1. Introduction

Mizu servers can automatically switch to the best simcards based on routing settings and traffic estimations.

Simcards can be bound to engines located in remote gateways, wich allows us to simulate real sim movements.

Allocation simcards between gateways is called “sim flying”.

4.12.2. Configuration

 

The following settings are defined:

Global config:

simcallocival:  minutes between sim allocations. If set to 60, than the simallocation will start at “simallocstart” minute in every hour

maxflysims: maximum simultaneous flying simcards

 

Gateway config:

canalloc: if automatic sim allocation and flying is allowed in the gateway (0=no, 1=only alloc,2 = fly and alloc)

 

SIM Packet configurations:

canalloc: if automatic sim allocation and flying is allowed with the simcards in the packet  (0=no, 1=only alloc,2 = fly and alloc)

minflyday: minimum flying minutes/day 

maxflyday: maximum flying minutes/day  (0=disable flying)

minflyweek: minimum flying minutes/week

maxflyweek: maximum flying minutes/ week (0=disable flying)

minflymonth: minimum flying minutes/month

maxflymonth: maximum flying minutes/ month (0=disable flying)

minflyonce: minimum time to fly at once

maxflyonce: maximum time to fly at once

minstayonce: minimum time to stay (not fly) at once

maxstayonce: maximum time to stay (not fly) at once

minflydeep: minimum gateway count to fly trough at once

maxflydeep: maximum gateway count to fly trough at once

 

Simcard fields:

origgatewayid: original gateway for the simcard (gatewayid can be the virtual gateway)

origline: original line  for the simcard (line can point to the virtual engine)

origsimpos: original position for the simcard (simpos can be the virtual position)

 

lastpresent: last seen (date-time)

presenterrors: simcard should be active but it is not active (counter)

lastpreserror: last not found time

 

flyetosim: the current engine must bind to this sim (simid):  -2 = err, -1 = not set, other = simid for the engine

 

todayfly: today flying minutes for the simcard

thisweekfly: this week flying minutes for the simcard

thismonthfly: this month flying minutes for the simcard

 

canfly: 10=never (manual), 20=unspecified, 30=no, 40 can accept, 50=can, 60=should, 70=must, 80= always (manual)

importance: sim importance calculated for the next period

flytoorder: engine can accept flying simcard (engines with not so important simcards goes first)

 

Fly Directions:  (tb_flydirections)

defines the fly routes and the minimum times between two gateways

simpacket: applied only for this simpacket (if -1 than applies to all simpacket)

fromgw: fly from this gateway

togw: can fly to this gateway

mintime: minimum time in minutes between the two gateway

 

4.12.3. Technical Details

gateway inifile:

[phoneX]

flylastupdate=datetime 

flyvalidfor= 60000 //seconds

flyto=ip/engine/simpos/simid //template

flyto=local/local/2/999999  //local simpos

flyto=local/2/2/99999999 //other engine

flyto=1.1.1.1/2/3/99999999 //other gateway

flyto=manual  //after manual timetable

flyto=off //switch off

 

tb_sims

origgatewayid: original gateway for the simcard

origline: original engine for the simcard

origsimpos: original position for the simcard

presenterrors: simcard activation fail count (increased in every 10 min if sim is not active when should be active)

preserrreset: presenterrors will be reseted several times to retry the simcard

flyetosim (e): the engine must be bound to the required simcard ?

currflydeep: gateway count from the original gateway

flystarted: time of flying start

staystarted: time of stay start

todayfly: elapsed flying minutes today

thisweekfly: elapsed flying minutes in the current week

thismonthfly: elapsed flying minutes in the current month

 

5. FAQ

5.1. How to make a H323 call directly to a GW (without the gatekeeper)

set the signalport to 1720 in the gateway inifile

launch ohphone g729: 999simid#telnumber

5.2. Sometimes the voice channel is breaking down. How can I improve the voice quality?

Set up to active silencedetection (silencedetection=1)

Increase the jitter buffer (minjitter, maxjitter)

Use a low bandwidth codec (onlyg72x=1)

5.3. Using Netmeeting

MICROSOFT NETMEETING (H.323) tcp port 522, 389, 1503, 1720 and 1731 plus two secondary dynamically negotiated udp ports in the range 1024-65535 for the H.323 streaming protocol transmission of audio and video. For transmission of audio and video you only have to enable outgoing for these ports. Unfortunately to allow incoming audio and video you need to open up the entire 1024-65536 range as well as tcp 1503, 1720, 1731. Due to the complexity of the H.323 protocol which pre-dates the introduction of network address translation, unless you have a firewall or proxy that specially supports the H.323 protocol at the application level, and thus supports the virtual opening of dynamic incoming udp ports, you have to open them all up. See Microsoft's Knowledge Base "How to Establish NetMeeting Connections Through a Firewall" Q158623.   

5.4. How can I make test calls?

1. simply right click on a channel (“Simcards” form) and select the “Test call” option

2. or use one of the voip clients from the “Tools” menu

5.5. How to check the call quality on a specific channel?

1. In the “Set Directions” box set the preffered simid. Then go to the “Statistics” form and check the ASR/ACD values.

2. Start some tescalls (right click on the preferred channel and then hit the “Test Call” menu)

3. Listen to conversation. (“Voice Here” form)

5.6. Typical Cisco Config

! dial-peer voice 3630 pots incoming called-number 0040T direct-inward-dial port 2:D ! dial-peer voice 3631 voip destination-pattern 0036 voice-class codec 1 voice-class h323 1 session target ipv4: 1.2.3.4

5.7. Server Recovery (in a separate app and db server configuration)

if the application server fails (the server directly connected to the internet, with your public ip

 

1.  call your ISP support to change the internet cable to the backup server, and when it will be available connect to the "backupserver" with the remote desktop

"root" account

  -on the backup server do the following:

2.   enable the "mserver" service

3.   launch the start batch file (from gk directory)

4.   check the  vservdebuglog and the MManage

 

if the backup server fails (the server behind the main server, with private ip)

-connect to the main server with the remote desktop "root" account

-On the main server, do the followings:

1.   launch the stop batch file (from the gk directory)

2.   Enable and Start the SQLSERVER service

3.   Restore latest database

4. launch the start batch file

5. check the  vservdebuglog and MManage (you must have current calls)

6. you are ready

5.8. No incoming calls (no new calls in current call list in peak time)

1. Check the logs (filtered to „Server”)

2. If you cannot find the solution then.

   a) Restart the server.

   b) Call the administrator.

5.9. Calls in „routing” status

1. If all calls are in routing status, then restart the gateway.

2. If this behavior is specific only for some of the gateways, then check if you have enabled the voipgsmgw.exe and the vclientsrv.exe on the windows firewall.

3. If  enabling this programs on the firewall and restarting the service (stop.bat, start.bat) will not help, then do a software upgrade and restart the PC.

4. If still in routing mode, then call the administrator.

5.10. SIP caller cannot call

1. Check disconnect reasons in cdr record for that caller

2. Check username/password

3. Check credit (if prepaid user)

4. Check caller techrefix, and the routing settings for that techprefix

5.11. SIP called cannot be called

1. Check disconnect reasons in cdr record for that called

3. Check if username exists

4. Check if usergroup matches the caller usergroup

5. Check user firewall settings

5.12. No call on Gateway

1. Check gateway absolutepriority, priority, enabled, temporarilydisabled and allowedpartners

2. Check if the gateway is online and sims are registered

3. Check sim packet settings (allowedpartners)

4. Check the routing on that simcards

5.13. No call on SIM

1. Check if simcard is active

2. Check allowedpartners, absoluteprioritypartners, absolutepriority

3. Check sim packet  settings, including min/max speechlengths

5.14. No voice (caller and called cannot hear each-other)

1. Check routertp settings for the caller and the called

2. Check called firewall and nat settings

5.15. Too many wrong calls on a simpacket (low ASR/ACL)

1. Check disconnect reasons

2. Check if gateway is working ok (another type of simcards on that gateway are working)

3. Check if simcards are not blocked by service provider (make a test call and listen)

5.16. Not enough or too many calls on a sim or simpacket

1. Check absolutepriority, min/max daily/monthly minutes on sim and simpacket

2. Check the routing for that packet

5.17. Calls are routed to wrong simcards

1. Check absolutepriority for gateway, sim and simpacket

2. Check routing patterns and timetable

5.18. Too low ASR

1. Check disconnect reasons for that direction

2. Check if gateway audio is ok

5.19. Too low ACL

1. Check disconnect reasons for that direction

5.20. SIM cards with low credit

1. Check if you have chargecards for that simpacket

2. Check charge fields in tb_sims (check if charging is enabled, lastchargetry date, etc)

5.21. GSM Gateway not working

1. Do the required settings for that box (pc config)

2. Check logs

3. Check if voipgsmgw and vclientsrv is enabled on the firewall

4. Check if vclientsrv service is running

5.22. GSM Gateway malfunctions

1. Cannot open sound device

Restart the pc. The usb sound devices will be remapped on pcrestart if allowed in inifile (check gw inifile and allow usbremap)

2. Lines in routing status

Enable voipgsmgw and vclientsrv on the gw pc firewall

3. No calls

Check gw,sim and packet priority

Check the routing table

4. Wrong statistics (ASR/ACL)

Check disconnect reasons

Check if simcard is not blocked by service provider

5. Other problems

Check statistics

Check disconnect reasons

Check gw, sim and packet priorities

Check the routing table

Check the log files

Restart the gateway

5.23. Wrong disconnect reasons

1. Check firewalls

2. Check the log file for that directions

5.24. MManage cannot connect to the server

1. Ping the server box. If ping is working, then check your username/password

2. Restart the server if you are sure that it is blocked

3. If still is not working, call the administrator immediately

5.25. Too slow MManage

1. Check your internet connection

2. Check server processor load. If too high, then check server logs, and if necessary, restart the server

3. If the problem persists, call the administrator

5.26. Server software problem (service unavailable)

1. Restore the last good configuration (Stop the service with stop.bat, copy all files from the lastconfig directory, near the current config and restart the service with start.bat)

5.27. Server OS, Database or Hardware problem (server unavailable)

1. Follow the failover plan.

2. Call the administrator

5.28. How to restart  the server service

MManage->Administration->Server Console->Connect  and send the „servicerst” command

5.29. How to restart  the server box

-MManage->Administration->Server Console->Connect  and send the „pcrst” command

-If you cannot  connect with MManage, you can find a small program in the vclients directory named „serverrst” (usually at C:/Program Files/VCLIENTS/ serverrst.exe

-If these does’nt work, then the server has a serious problem. Follow the failovering plan and call the administrator

5.30. How to restart  a GSM gateway

-MManage->Administration->Server Console->Connect  and send the „client,XXX” command, where XXX is the gateway name or ip address. When connected to the gateway, send the „pcrestart” command

-if this does not work, then try to connect with remote desktop to the required gateway

-if the gateway is unreachable, then the pc or the internet is down.

5.31. How are the incoming calls from the gsm network handled?

Depending from Gateway Configuration inccalls value.

(0=drop,1=hold a little then drop,2=auto forward,3=forward to server as forwardnum,4=forward to number requested by dtmf)

Check the Gateway Configuration for more details.

5.32. Routing test calls to a dedicated gateway

set the calledpriority to the techprefix of the traffic sender

calledpriority: all calls with the specified techprefix will prioritize this gateway (but other techprefixes can go to this gateway also)

testprefix: only the specified techprefix can go to that gateway (but the specified testprefix can go to other gateways also)

 

so if you want a dedicated gateway for a techprefix, then you have to set the calledpriority and a testprefix too

 

example:

 update tb_users set calledpriority = '987', testprefix = '987' where username = 'TESTGW'

 then all calls with techprefix 987 will go to TESTGW with high priority

in case when the TESTGW channels are not available, the calls can be routed to an other gateway

5.33. How to disable PIN request on GSM gateways

The easy way

Set up the pincode entry under the [gateway] or [phoneX] section with the valid pincode. The gateway service will remove the pincodes automatically.

The hard way

1. Start GWTest and switch to the preffered channel/simpos

2.  „login” with: AT+CPIN=xxxx (where xxxx is the original pin code)

3. Disable pin code request with: AT+CLCK=”SC”,0,”xxxx” (where xxxx is the original pin code)

4. in the next switch on, the sim will login to the gsm network automatically

5.34. What are the minimal global settings that must be correct on servers?

On the “Configuration” form select “Basic” settings and check at least the following values:

LocalIP, LocalInternalIP, LocalDomain, currency, Routing, emergencydir, creditunit

5.35. How to add a new traffic sender?

In the “Users and Devices” form select Traffic Sender. Load the list and then hit the “New” button. Then you have the option to clone an already existing traffic sender. Set up the authorization correctly!

5.36. How to add a new sip enduser?

In the “Users and Devices” form select Endusers. Load the list and then hit the “New” button. Then you have the option to clone an already existing traffic sender. Set up the authorization correctly! Check the credit and prepaid/postpaid option!

5.37. How to add a new Mizu VoIP-GSM gateway to the server?

Mizu gateways will register automatically on the server. You may adjust the properties when the gateway is present. After that, you have to set up its sim channels correctly.

5.38. How to add new simcards (sim packet)?

Create a new packet in the “SIM Packets” form. Set up a meaningful name, specify if is postpaid or prepaid and walk through the other options (ownership, access list, recharging options, etc)

5.39. How to add a new simcard?

GSM channels will register automatically on the server. Then you have to set up its properties (to which packet it belongs, recharge options, owner, etc)

5.40. How to set up basic routing?

On the routing form add routing patterns to cover all possibilities (directions and times). Then you have to add your sim packets or other direction in desired priority order. Specify as many simpackets with the same priority as you can (so the server can do the routing too after the other conditions. For example the quality.)

5.41. How to set up basic billing?

On the “Price Setup” form add a new “Invoice and statistics” entry. Then you can add packets to it, which will define the traffic direction when the actual packet will be active and the price.

5.42. Where can I check the logs and traces? 

1. “Logs” form

2. “Server Monitor” form

3. Set up your trace level in the “Configurations” form (filer after the “log” expression)

5.43. The conversation volume is too loud. How can I change the volume?

In the Gateway Configuration check the followings: volumein, volumeout, vgr, vgt

5.44. How to register your Mizu Gateway to a H323 gatekeeper?

In the Gateway Configuration check the followings: gkip, gkpassword, gkdiscover, gkprefixesX

5.45. What ports are used in the system?

Standard SIP signaling port: 5060 (TCP and UDP)

Default H323 signaling port: 1720 (TCP)

H323 signaling port used by Mizu gateways: 1721 (TCP)

Rdesktop port: 8836 TCP

SQL Server port: 1433 or 2223 TCP

“Voice Here” port: 44444 UDP

Mizu server admin port: 9885 TCP

Mizu server comm. port: 9886 TCP

Mizu server log  port: 9889 TCP

Virtual SIM port: 9886 UDP

H323 additional port: configurable dynamic TCP

Media ports: configurable dynamic UDP

WebServer: 80 TCP

FTP: 21,22 TCP

5.46. My gateway restarts too often

Check the watchdog settings. For example the gateway will restart if no traffic is routed on it for 3 hour by default. Also check the maxwrongcalls and maxnotconnectedcalls settings

5.47. H323 signaling problems

Check your firewalls.

Check Gateway Configuration: onlyg7x, connectwithmedia, enableh245tuneling, faststart.

5.48. How to set up the automatic credit recharge?

First you have to set up the “Message Rules”.

The packet must be set to prepaid. Proper Credit Request/Charge command must be defined. See at 4.6.1. SIM Packets

SIMcard “Credit and Recharge” setting must be set accordingly.

 

Message Rules types:

                -0: msgbgn need to be replaced with msgend before further processing

                -1: if msgbgn was found in the sms than it means a successful recharge

                -2: credit value between msgbgn and msgend

                -4: if msgbgn was found in the sms than it means a failed recharge

5.49. The automatic credit recharge is not working

Check mincreditonrequest, creditrequestival for the packet.

SIMcard “Credit and Recharge” setting must be set accordingly.

Check the CreditRequestFail and CreditChargeFail (the server will try only 5 times. Reset to 0 if the problem is eliminated)

Check the other fields in the simcards regarding to credit charge and request. (fieldnames that contains the “credit” word. You have to check the “All Fields” checkbox on the SIM Channels form to see those fields)

Check if you have charge card for the required simpacket.

Check Logfiles (filter for “credit”)

5.50. How to monitor the credit automation?

Method 1: Launch MManage -> Sim Platform -> Credits and check the “credit history” queries

Method 2: Launch MManage -> Monitoring -> Logs and filter for “credit related”

 

To monitor the credit automation for a selected simcard, you can filter after the simid both in logs and in the Credit form.

5.51. Gateway and channels are inactive

Check if the gateway has internet connection.

5.52. How calls are processed

1. The SETUP or INVITE signal arrives from the traffic sender

2. If the caller is not allowed by the firewall, the call will be silently dropped

3. If the caller is blocked (e.g. DOS attack protection), then call will be silently dropped

4. Caller authorization (by source IP address, username/password, techprefix, etc)

5. Check the call parameters. If doesn’t fit into the predefined limits, the call will be dropped (example: too long called number)

6. Rewriting the called number if any Prefix Rule Match

7. Normalizing the called number (validating call prefix)

8. Searching for the best routing pattern

9. Searching for best route direction (available channels, priority order, round-robin, LCR, BRS, failovers, rerouting. etc)

10. Calculating the maximum speech length based on caller credit

11. Checking class 5 features and other endpoint settings (media routing, early-start, etc)

12. Initiating protocol conversion if needed

13. Routing the call to destination

14. Checking for call status, dropping if time exceed and other call monitoring tasks

15. Collecting CDR records at the end of the call

16. Calculating the prices of the call (realtime billing)

5.53. How to set up holiday billing

In the price form in “Time Definitions” select the “Holiday” entry

Set the priority higher in the Directions settings

5.54. How to treat specific weekends as weekdays

Set up a new entry in the holidays form and don’t set as holiday (uncheck the checkbox)

5.55. How the different currencies are handled?

Realtime price calculation in CDR records and the credit calculations for prepaid users are always done in the global currency (can be set up in configuration->currency)

However, you are able to set up your pricesettings in any currency. Automatic conversion is done when the given currency is not the same as the “global currency”. The conversion is done by predefined rates. You can set these rates in the “Currency convert” form in the MManage.

5.56. SimChange settings from the command line

format:

  simchange1= 2004.03.05/13:00:00 - 2004.03.07/13:00:00 - 8936302403070132426 (from date - to date)

    or

  simchange2= 10:20:00 - 10:26:00 - 8936302403070132426 (every day from time to time)   

    or

  simchange3= 2/10:20:00 - 7/10:26:00 - 8936302403070132426 (from Tuesday 10:00 to  Sunday 10:00)   

    or

  simchange4= 6/00:00:00 - 7/24:00:00 - 8936302403070132426 (Saturday and Sunday)  

 

there is a priority order from top to bottom (simchange1, simchange2, etc.) numbering begins from 1 without holes

tip: you can set date-hour prioritization

tip: 24:60 is a wrong time (minutes ends with 59)

tip: on day and exact date settings the roundrobin trick is not working

5.57. How to reenable blacklisted but good numbers

- In MManage -> direct query, under the misc section check the “reenable blocked but good numbers” section

- delete old number from the helper table (section 0)

- run the query from section 1. this will load blacklisted but good number. The query execution may take 15 minutes

- list found numbers (section 2) and check it agains the blacklist (section 3)

- now you may delete blacklist entryies or set the “sure” level lower. First check the requested blacklist entry agains the query in section 4 (found numbers may be only a subset from the blacklist entry and in this case you may not delete or modify the blacklist. But if the asr and acl values are good for the blacklist entry, you may delete or modify it). Before you delete or modify the blacklist entry, check the comment (why was that number blocked). Number with comment “jukak” or “autdisabled monthly/weekely/daily” should be deleted or changed without problems.

5.58. How are different currencies handled?

In the global configuration, a global currency can be defined by the “currency” setting. For example ‘EUR’, and there is the possibility to convert other currencies (used for pricelists, simpackets, users) to this “native” currency.  For prices defined in “Price List” form, there is a possibilty to convert all input prices in “native” currency by checking the “Convert to XXX” checkbox. In this manner for example you can import a pricelist in other currency and that will be converted automatically in native currency when calculating CDR prices.

The conversions are done based on the settings in the “Currency Converter” form. You should update the conversion rates here as frequently as possible.
If you wish, you can leave the original value intact, so you can make your billing in other currencies than the native.

For every simpacket you can also define the currency, wich will affect the simcard credit calculation (automatic simcredit requests and recharges for prepaid simcards). Simcredits can be converted in the native currency format if the “convertsimcreditcurrency” configuration option is set to true. So you can have simcards in different countries, but all simcredits will be shown in the native currency.

For endusers and traffic senders you can also define different currency format in the Users and Devices form, Billing tab. The currency format defined here will be taken in consideration by the billing process.

5.59. How is VAT handled?

You should try to use prices without VAT included all ower in the system (for pricelist and for simcards)

VAT included pricelists can be easily converted to net values by checking the “Convert to NET value” checkbox in the “Price List”. You should enter the VAT percent in the “VAT Value” editbox for proper calculations.

 

For simcards you can setup the VAT value in the Packet options (“VAT” editbox). If you set the “convertsimcredittonovat” global configuration options to true, than sim credits will be automatically converted to net values. For examlpe after an automatic credit request, the credit value in the received messages (SMS) will be automatically conveted to net values.

 

You should set up the appropiate VAT values for users too, wich will be taken in consideration during the billing process.

5.60. How the check your ASR (or ACD, SL, CDRC) for the traffic sender “A” in the last week.

1. In the date-time drop-down list, select the “Last Week” field

2. In the “Select Direction” form set the “Source” (left side) “Type” to traffic sender, and select “A” in the “Name” drop-down list (or type “A” manually)

3. Launch the “Basic Statisitcs” form under Monitoring.

4. Clear the “Group by” option (select  the first  “-“ line)

5. Make sure the ASR checkbox is checked

6. Click on (Re)Load

7. Depending on current server config and current load this query may take some time (on a usual configuration this will take 2 second)

5.61. How to add endusers (basic settings)

1. Go to MManage -> Users and device form, and select enduser type

1. Select an already existing user wich has the same caracteristics as the required new endusers

2. Hit “New User” and than accept the the copy from existing option (cloning)

3. Check at least the following fields: username, password, parent id, authorizaton type (usually username/password), prepaid/postpaid, billed user

4. Check other settings

5. Save

5.62. Basic callcenter tasks

1. Setup your server as for a normal sofswitch (routes)

2. Create campaigns

3. Add callcenter operators

4. Assign operators to campaigns

5. Add or import clients

6. Assign clients to campaigns

7. Add presentation locations

8. Setup global callcenter configurations

9. Operators now are ready to start there TAgent application

10. Check statistics

11. Print invitations

12. Use checklist when you are on presentations

5.63. Abbreviations

ASR: average success ratio (percent of the connected calls)

ACD: average call duration. The same as ACL

(ACD: Automatic Call Distributor)

ACL: average call length. The same as ACD

SIMID: sim identifier. 13-17 digit number stored in the simcard (and written on the simcard)

IMEI: gsm engine identifier (should be globally unique)

ACT: average connect time. The time elapsed from setup until the connect in seconds

PF: profit. (for correct values, requires your billing module to be properly configured)

SUCC: successful call count (same as ASR but not in percent)

CCC: concurrent (simultaneous) call count

CC: callcenter

TCP:  is a connection-oriented internet protocol

UDP: internet core protocol for datagram packets (not reliable)

RTP: media channel protocol

SIP: The Session Initiation Protocol (SIP) is a signaling protocol used for establishing sessions in an IP network. A session could be a simple two-way telephone call or it could be a collaborative multi-media conference session.

H323: H.323 is an ITU (International Telecommunications Union) recommended standard, which provides a foundation for audio, video and data communications on non-guaranteed Quality of Service networks

RAS: used in H323. Used between the endpoint and its Gatekeeper in order to

Allow the Gatekeeper to manage the endpoint (Registration, Admission, and Status)

GK Registration: Endpoint will send an RRQ and expect to receive either an RCF or RRJ

H225: Call Signaling is used to establish calls between two H.323 entities

H245: generally transmitted on a separate TCP connections by most older endpoints

REGISTRAR: serverside component that allows SIP REGISTER requests

IEC: international escape code

NEC: national escape code

AC: area code

NUM: phone number

ANI / CLI – Automatic Number Identification or Caller Line Identification

IVR – Interactive Voice Recognition

LCR: least cost routing (price)

BRS: best route selection (price + quality + other settings)
-ANI/CLI authentication:  Automatic Number Identification/Calling Line Identification
-Toll free: is a special telephone number, in that the called party is charged the cost of the calls by the telephone carrier, instead of the calling party. This can be configured as a normal access number (power user) and eventually with higher billing (because we will be the billed party in this case)

-local DID number: normal access numbers. Usually you will have separate DID numbers for different regions to minimize enduser costs
-callback: DID or toll free number configured as power user with iscallback set to the required IVR
-ANI callback: same as callback with User-ID based authorisation (A number)
-Virtual Numbers (DID): "real" phone numbers allocated for users. You have to buy DID numbers from CLEC or any other service provider like didx.net
-SMS callback: callback triggered by received SMS message. You have to subscriebe to a two way sms service like clickatel.com. users can be authenticated by sender ID, pincode or username/password insterted to the sms text.

5.64. Codecs

The sofswitch can route any audio, video and fax codecs.

In the endpoints (TAgent, GSM Gateway, etc) the following codecs are supported by default (in this order):

1. G729/G729.A

2. G723.1

3. PCMU

4. PCMA

 

Voice recording, “voice here” and conferencing feature will work only with these codecs.

In GSM gateways some other codecs are supported as well and must be enabled on request (such as GSM, G726, Speex).

5.65. How to reserve GSM capacity for a certain protocoll

In the global configuration you have to set the following keys:

reserveforh323: number of channels to be reserved for traffic received from H323;

reserveforsip: number of channels to be reserved for traffic received from SIP.

 

On packet and gateway level you can specify the maximum number of reserver channels from that packet by setting the “maxalloc” field (defaults to 0!).

 

When set properly, the server will reallocate the requested best quality channels for the requested direction in every hour.

 

To manually reserve capacity for sip set the reserverfor field in tb_sims to 1 on the required channels.

 

5.66. PDF creation in MManage

In order to use “PDFCreator” to save the invoice in PDF, some modifications are needed to the program

 

1. Make sure that the default PDF printer is set to “PDFCreator”

(MManage -> Menu -> Settings -> Options -> Default PDF Printer option)

 

2. Open the printer “Options” Form

This can be achieved

-when you save invoices as PDF first time

or

-from Start Menu -> Programs -> PDF Creator -> PDF Creator -> Printer Menu -> Options

 

3. Setup Auto-Save

 

Select the Programs->AutoSave form

-check the “Use Auto-save” checkbox

-In the filename template type: <Title>

-Check the “Use this directory for auto-save” checkbox, and select the folder where the invoices will be saved

>Now your invoices will be saved automatically in the selected folder when you select PDF as output.

 

If  PDF creation doesn’t work:

1. check if the “Print Spooler” service is running (set it to start automatically in StartMenu->Settings->ControlPanel->Administrative Tools->Services)

2. reinstall “PDFCreator” by starting the “PDFCreator.exe” from your MManage directory

 

If you cannot use the “PDFCreator” program, you can change the PDF creator tool in MManage -> Menu -> Settings -> Options -> Default PDF Printer option

5.67. How to setup a new virtual server instance

1. create a new directory named “virtserverX”

2. copy all files from an old virtserver directory (except the logfiles)

3. rename virtserverOLD.exe to virtserverNEW.exe

4. register the new virtserverX.exe as a system service

5. rewrite the start.bat and stop.bat

6. allow the new service (and other executables if any) in the OS firewall

7. create a new ftp directory for the recorded voices files under the “voice” directory and set the correct rights

8. set the database connection settings in the inifile

9. clone an old database instance

10. clean old database tables (MManage ->Advanced->Clean Database Tables)

11. setup default tables (MManage ->Advanced->Setup Default Virtserver Database)

12. upgrade to the newest version (MManage ->Advanced->CC SW Version Migration)

13. setup configuration (MManage ->Settings-> Quick Setup)

14. check port collisions (rewrite portnumbers)

15. configure routing in the mainserver (in and out). Add the virtserver user as traffic sender and sipproxy

16. allocate numbers in the mainserver for the new virtserver instance (callback numbers)

17. start the new virtual server

18. make a testcall

19. check the logfile for errors. test tagent. check MManage

5.68. Fax detection

Usually you can filter out  fax calls by setting the “block711” global setting.

 

5.68. Handling dynamic & private ip/port

For sip proxyes, endusers and gsm gateways the server will handle ip and port changes automatically. For sip proxyes and endusers the ip/port/transip/transport settings will be changed dynamically only if the “Can Dial” option is enabled for the device.

 

5.69. Fax settings

faxhost: email-fax gateway domain name or ip

faxuser: smtp username

faxsubject: email subject

faxfromaddr: from field

faxfromname: from name field

faxnormalize:

            0 = leave original number

            1=normalize

            2=normalize, no iec

            3=normalize, with iec

 

faxsuffix: append after faxnumber (usually @host.domain)

 

5.70. License limitations

 

You can configure the limits in the “licensecfg” global config section, but the configured values cannot exceed the builtin hardlimits. Most of builtin hardlimits are listed in the “license” section or you can check them in MManage->help->licensing menu. The -1 value means “no limit”.

When the software has no builtin and configured limits, than only the hardware can restrict its performance and throughput.

 

The following hard limits are built in the software:

MAXALLUSERS:  to restrict the total number of users and devices (including endusers,gateways, etc)

            Devices behind this limit will be disabled (calls blocked)

MAXSIPUSERS: to restrict the total number of sip endusers.

            Users behind this limit will be disabled (calls blocked)

MAXGATEWAYS: to restrict the total number of sip, h323 and gsm gateways, gatekeepers and proxies.

            Gateways behind this limit will be disabled (calls blocked)

MAXTRAFFICSENDERS: to restrict the total number of sip traffic senders

            Traffic senders behind this limit will be disabled (calls blocked)

MAXCHANNELS: to restrict the total number of gsm channels (active simcards)

            Server will not accept more simcards to be active, thus no calls will be routed to them.

MAXCCALS:  to log exceeding traffic. When the number of the simultaneous call count exceed this limit, a log entry will be written  with the following text: “WARNING, max concurrent calls reached (license) [num of calls]”.

MAXCALLSBLOCK : call behind this limit will be dropped with “Max concurrent calls reached” reason code.

MAXCCALSPERMIN: max number of call setup/minute.

MAXSL:  max speachlength/day in minutes. All calls will be dropped after this limit is reached.

MAXSESSIONSPEECHLEN: max speech length for all calls in miliseconds.

MAXREGISTRATIONS: max number of registered users (by the nature of sip registration process, this limit can’t be 100% precise)

MAXTAGENTS:  max number of maximum tagent application registrations. There is no way to control wich of the TAgent application will be blocked. (The registration request will be refused when there are more TAgents online than this limit, where “online” means at least registered status in the last 15 minutes)

 

The following modules can be added/removed:

Ø  callcenterout

Ø  callcenterin

Ø  extra

Ø  filtering

Ø  failower

Ø  alerting

Ø  recharge

Ø  gsmextra

Ø  sip

Ø  h323

Ø  simplatform

Ø  simbank

 

To check for more limitations, search the config with the “license” and “max” keyword.

 

5.71. Redirect or forward sessions to other domains

 

Routing to other domain can be restricted by the “fwdtootherdomains” global config setting. This means SIP calls with other domains in the request uri (not listed in the “domainnames” values, and no IP address match)

 The following values are defined:

0=don’t forward calls to other domains

1=check if our numbers first (local user)

2=don’t forward mobile numbers

3=forward all required sessions

4=forward all required with “Moved Temporarily”
5=unconditional move (will move all required traffic without checking the caller)

 

 

You can forward calls to other domains before any routing configuration will be checked. (with 302 Moved Temporarily)

The following config values will be applied:

Forwardpx:  comma separated prefixes to be forwarded. ‘*’ means all traffic (can be used for failowering and load balancing). Set to emty to disable forwarding.

Forwardto: IP address or domain name where these prefixes will be forwarded.

 

This feature is usually not enabled for service providers ( if you provide services for costs), and usually is enabled for home or company users.

 

5.72. Delete old database backup

 

You can automate backup cleanup by setting the following global config values:

Deldbbackup: days to keep (-1 disables cleenups)

Dbbackupdir: database backup directory

dbdelbackupdir1, dbdelbackupdir1, dbdelbackupdir3:  database backup subdirectories

This feature is useful, when the database engine doesn’t have cleanup feature.

5.73. Sales commissions

 

The sales cost will be calculated to the CDR record “costsales” field. So you can build any statistics based on this value.

Every user can have the “Added By” field filled, wich will point to the sales person where the user belongs.

You can define the sales commission explicitly in the “Price setup” form (Type must be set to “Sales cost”)

If no such price is defined, than the sales commission will be loaded from the actual sales user setting.

The defined commission percent will be calculated for the profit or for the enduserprice. This behavior can be set  by the “salescomissionfromprofit” global config.

Sales can give up for the users some reduction wich will be substracted from their cost. This can be configured with the “reduction” value for the individual endusers.

5.74. Multihomed setup

 

UDP ports must be binded to different ip interface (at least the default sip port 5060), or set to different values.

TCP ports must be setup differently

On the gsm gateway set the serverip to the binded ip and the  cmdport to the gsmclientport

Change the pipename setting in the gatekeeper.ini

5.75. How to scan your SP for live numbers

The following global config values must be set accordingly:

scan_from –range start

scan_untill –range end

scan_callernum –a valid user from “users and devices”. Proper routing must be set for this caller.

scan_callival –new call attemt interval in msec. The scanner thread will start automatically if this value is a positive number.

scan_stop_at –at what stage the call setup progress will stop. 

            0=trying,1=progress (default),2=ringing,3=connect

*all global config can be listed if you filter for the “scan” word”

 

The results can be seen in the marker field of the cdr records:

            SU1=unknown

SS1=trying       (scan success 1: the last status was: trying)  -2

SS2=progress   (scan success 2: the last status was: progress) -3

SS3=ringing     (scan success 3: the last status was: ringing) -4

SS4=connect    (scan success 4: the last status was: connect) -5

SF1=disc code  (scan failed 1: the last status was: disc code received) -6

SF2=bye           (scan failed 2: the last status was: bye received) -7

 

For example the following query will list all live numbers when the  scan_stop_at is set to 1:

select callednumber from tb_cdrs with(nolock) where datum > X and callerid = Y and marker in (‘SS2’, ‘SS3’,’ SS4’)

 

5.76. Routing calls from virtual servers

The actual virtsever must be configured as a traffic-sender in the mainserver.

In the virtserver, the mainserver must be configured as a sip-proxy.

Setup the routing in the virtual server and in the mainserver too.

5.77. Routing calls to virtual servers

From the mainserver there are two possibilities:

   -set some phone numbers “location” to virtserver id and /or

   -setup the routing (for a range of numbers defined by a prefix)

   The actual virtsever must be configured as a sip-proxy in the mainserver.

 

 

In the virtserver:

   -setup the callbacknumber ant it’s routing correctly in global configuration and /or

   -assign real phonenumbers for operators (or endusers)

   In the virtserver, the mainserver must be configured as a traffic-sender..

 

5.78. How to add plugins in MManage

Create your custom exe.

In the MizuManage.ini under the “plugins” section add your plugin entry:

            nameX=MyPlugin

            cmdX=MyPlugin.exe

X is a number starting from 0 to MAXPLUGINCOUNT

 

The MManage will pass the database access parameters in the command line.

Any other parameter must be readed from the inifile.

 

Command Line: dbserverip,dbport dbname username password connectionstring

*Please note that appserverip may differ from dbserverip!

Direction parameters will be located under the “parameters” section. Read them as soon as possibile.

The following keys are defined:

Ø  fromdate, todate

Ø  source, destination

Ø  fromtype,fromid, frompacket, fromsimid, fromgroup, fromcamp

Ø  totype,  toid,   topacket,   tosimid, togroup

Ø  fromname, frompattern

Ø  toname,   topattern

Ø  fromenabled, toenabled

Ø  fromidlist;    toidlist

Ø  fromsimidstr;  tosimidstr

Ø  fromip, toip

Ø  fromsimgrouplist, fromusergrouplist

Ø  tosimgrouplist, tousergrouplist

Ø  reloadgroups reloadgroups

5.79. Request/response target address

Because the server will try to send the sip messages to all possibile addresses, sometime it will misroute it.

With the denyaddr setting you can restrict the address posibilities. It can be set global or user level.

The following values are defined:

Ø  NULL  //will load the default denysetting

Ø  *  //allow all

Ø  loopbackip, loopbackaddr  //127.0…, 0…

Ø  localip, localaddr  //locally configured or autodetected ip/port

Ø  lanip, lanaddr  //192.168, 10.0, etc

Ø  privateip, privateaddr   //local + lan

Ø  notfromip, notfromaddr  //the address from where messages are received

Ø  notsigip, notsigaddr //the address sent in sip signaling

Ø  specificip, specificaddr  //any ip or ip:port

 

Examples:

    to restrict the target address for a sipuser you don’t allow local and lan ip: privateip

    to restrict the target address for a virtserver you don’t allow: localaddr

    to restrict a misconfigured proxy wich is always telling you 11.12.13.14: privateip, 11.12.13.14

    on a virtserver you must deny only the localaddr  for the mainserver (wich is configured usually as a sipproxy) and for the operators you can deny privateip

 

5.80. Server supervisor

The mserver process has a builtin supervisor wich will do some integrity and whelth tests periodically and will do the required action on test failure.

In addition to this builtin procedure, you can start the vsupervisor service.

The following settings are defined in the "supervisor" section:

 

canrestartformalfunctions: if supervisor can do restarts (othervise only logs or emails the error). set to 0 to disable restarts default is 1

checklogs: if to check logs. if set to false, then "maxnologival" will have no effect. Default is true.

checkcpu: if to check cpu ussage

checkcallerids: check only cdr records that belongs to this caller. Example: 123,124

checkprefixes: check only cdr records only with this techprefix. Example: '333','555'

 

maxnocdrmin: restart if no cdr records for this number of minutes. Default is 20 (minutes).

minacd or minacl: min ACD treshold. Default is 15 sec.

minasr: min ASR treshold. Default is 3%.

maxnologival: maximum number of minutes without new record in tb_logs. Default is 15 min.

minactivesims: minumum number of active simcards. Default value is 0.

minactiveendusers: min active endusers (with statusdate set in the last 20 min). Default value is 1.

minactiveusers: min active users (some activity in the last 2 hour). Default value is 1.

 

peaktimebegin or peaktimebegintr: peaktime start hour. Default is 9.

peaktimeend or peaktimeendtr: peaktime end hour. Default is 19.

weekendispeak: treat weekend as peaktime (same traffic ammount). Default is false.

restartatnight: if to restart at every night. Default is false.

restartpcatfirst: don't restrart the service. Restart the pc immediately.

trafficammount: 0=after setup

 

all values will be altered in offpeak and weekend times after these rules:

    maxnocdrmin2*=60;   

    maxnologival2*=3;

    minasr2 = minasr2/2;

    minacl2 = minacl*2/3;

    minactivesims/3;

 *offpeak and weekend times are calculated based on peaktimebegin, peaktimeend, weekendispeak

The following programs are controlled (configurable):

                mserver_name = "mserver";

atarongk_name = "atarongk";

fvoipgsmgw_name = "fvoipgsmgw";

vsip_name  = "vsip";

valert_name = "valert";

  MSSQLSERVER_name = "MSSQLSERVER";

5.81. Automatic prepaid credit expirity

You can set prepaid credit by the “Add with elapse” button to elapse automatically.

The following configurations are defined:

Creditunit: How much credit means 1 day

Maxcreditelapsedays: max number of days when the credit will elapse
Accelapsedays: the number of days from creditelapsedt when the account will expire

Tb_users. Creditelapsedt: date-time when the credit will be expired

Tb_users.Accelapsedt: date-time when the account will be expired

 

5.82. Simple prefix rewrite

To rewrite prefixes on router number normalization, you have to set the following global config values:

prefixrewritestr: the original prefix

prefixrewritefrom: keep from

prefixrewriteto: insterted string

for example to handle the hungarian roaming prefix: 08 + SK + BK + NSN +SN you have to set the following values:           

prefixrewritestr: 08X…

prefixrewritefrom: 9

prefixrewriteto: 36



5.83. Short number and internal billing

You can set the short number billing mode by the “shortnumbill_type” config value. When set to 0, all short numbers are billed with the price set in “internal_providercost” and “internal_endusercost”. When set to 1 (default),, then the  “999” prefix is inserted before the called numbers, and you have to create billing entries for these numbers.

Numbers are treated as “short” if its length doesn’t exceed the value set by the “billshortnumlength” global config option.

Calls between endusers are billed with the “internal_providercost” and “internal_endusercost” values (defaults to 0).

 

 

5.84. Cropping sound on ring when playing voice (ringtone, announcement or any other promt

Cropping sound on ring when playing voice (ringtone, announcement or any other promt)

Set the stopplayeronrtprec global config value.

 

5.85. How to play user credit in IVR

Create a “Play number” action.

Enter [credit] for the file name.

 

5.86. Encryption

Optionally a separate udp port can be set on the server to handle encrypted sessions (alternatelocalport)

 

Encrypted sessions are always anwered encrypted by the server.

Use the tb_users.encrypt field to control encryption on user level:

  0=default

  1=newer

  2=dynamic no

  3=dynamic

  4=dynamic yes

  5=always

  6=force always

To initiate encrypted sessions, set the “encrypt” field for the user to 5.

To deciede automatically, then set to 2.

To encrypt all communication on the alternatelocalport, set “alternatelocalportencrypt” global config to 2.

 

There are two types of builtin encryption:

-week and quick encryption mode (when usequickencryption is true -default)

-storng but slower encryption mode (when usequickencryption is false)

 

Encryption can be enabled/disabled with the “useencryption” global configuration value:

 0=disabled,

1=only when rec encrypted (default)

2=use

3=always        

 

Also, there is a possibility to define a list of ip addresses with the “encryptedpeerlist”. All communications with these peers will be done encrypted.

 

Standard SSL/TLS signaling encryptions are negociated runtime as well as SRTP media encryption.

The recommended encryption type between mizu devices is the embedded fast or bowlish+compression. These types of encryption require much less CPU power and are done with no additional network overhead.

 

5.87. Running Mizu Server in proxy mode

(the server doesn’t handle registration and authentication, just forward it)

Fwdregistrations=2 // //0=no,1=only from alternate port, 2=always

fwdregistrations_domain=registrar sip domain

fwdregistrations_ip=registrar ip or FQDNS

fwdregistrations_port=registrar port

autocreatereguser=1 //0=no,1=when fwd authenticated ok register, 2=always (when we receive the register)

Forwardauthentifications=1 //will forward invite (regarding routing setup)

Allowdiscmessage=false

Maxreroute=1 ??

Sslogport=0

 

Setup routing to point to the upper server

 

Optionaly you may increase these tresholds:

Maxmsgcountlimitmultiplier=2

Maxnocdrmin=3000

Maxroutereqpermin=5000

Checkmaxlines = 0 ?

Checkmaxlinetb=0 ?

Maxsessionspeechlen= 1000UL * 60UL * 60UL * 6UL

Ringtimeout=120

MAXEPCOUNTTRESHOLD=30000

MAXSUBSMSGCOUNT=99999

MAXWRONGMSGALLOWED=9999

 

Running the server as a VPN access point

Fwdregistrations=1 //only from encrypted clients (bug: set to 2)

Alternatelocalport=5088

Alternatelocalportencrypt=3  //0=default,1=never,2=auto,3=always

Set the “encrypt” field for the users to 5.

 

When all the new automatically created users are allowed to use only encrypted comunication, set the autonewusersencrypt to 5.

5.88. Mizu Server security

OS security:

Follow the instructions below to secure your VoIP environment:

-do not install any third party software on your VoIP server

-enable the embedded windows firewall. It’s speed and application level packet filtering is perfect for VoIP. Enable only the needed applications (voipserver.exe, mssql.exe, vfpt.exe)

-always change the default MSSQL port from 1433 (this is not a security issue, but when the MS SQL runs on the default ports, you can experience lots of login attempts). 

-disable all unneded network services (IIS, FTP, etc)

 

The mizu server has the following builtin automatics attack prevention mechanism:

Address level attack preventions:

-DOS attack prevention: when there are too many messages received from an IP address, the address will be blakckisted automatically. Controlled by MAXSUBSMSGCOUNT and MAXSUBSMSGPERIOD global configuration settings.

-when there are too many “wrong” or meaningless messages from an IP, the address will be blakckisted automatically. Is controlled by MAXWRONGMSGALLOWED global configuration setting.

Session level security:

The server will close the session on the following  circumstances:

-absolute timeout, call timeout, media timeout, ring timeout, call init timeout, timeout  on session timers

-too many incoming messages

- too many authentification failures

- too quick (abnormal) message receptions

 

Blocked devices and users can be reenabled anytime by issuing the “delbanned,ip” or “delbanned,all” command on the Console port.

 

Device IP/user caching:

For speed considerations, the mizu server can cache device login information for a time so it will not ask again for authorization for every REGISTER or INVITE request. This means that it can happen that you change the user credentials and the user is still able to login with it’s old username/password or inverse: the user enters the correct credential but will be still blocked for a time. This can be controlled by the “cacheregistrations” global config variable.

 

5.89. Ringtone for IVR forwarded calls

Can be controlled by the playivrfwdringtone global configuration

We have 4 options here:

0=no ringtone from the server (instead we can play any file directly from IVR). In this case if there is no other IVR file playback in progress, the client can hear the ringtone generated by the called endpoint

1=generate ringtone on ring received if there are no other IVR playback in progress (in this case the client will hear ringtone even if the called endpoint is not generated –i.e. it just sends ringing message in signaling). This is the default setting.

2= generate ringtone on ring received even if other file playback is in progress (stopping the old playback)

3=generate fake ringtone immediately after call was sent to routing

 

5.90.     CLI settings / A and B numbers / Dial plan

There are multiple ways to apply your rules.

 

The server will “normalize” the numbers automatically based on rules from the global configuration (search for normalize). For exampe it can remove strange digits, IEC codes like 00 or +,  enforce length, etc.

Also there are built-in rules for several countries, so users can dial without CC/IEC/NEC.

 

For outgoing calls if you need to use a tech prefix, you just have to enter the coresponding digits as tech prefix for the sip proxy user.

 

TechPrefix:

The server can authorize and/or route the traffic after the incoming techprefix.

Sip users can have techprefixes too. this is usually common for reseller company users.

If no techprefix is specified, then it will be loaded from tb_pxrules if any.

Sim owners and vpc users can have a list of prefixes separated by comma.

If no techprefix is specified, 111 will be inserted for incoming called numbers.

If the techprefix is „-1”, then the original techprefix will be forwarded.

If the techprefix is „-2”, then the original techprefix will be inserted in cdr record (but not forwarded).

If the techprefix is empty, then only the normalized callednumber will be forwarded.

The following techprefixes are reserved for the server: 111,222,999.

Only 3 digit techprefix is allowed. If your traffic sender needs another techprefix length, you must rewrite the incoming number in the “Prefix Rules” form.

            Example: protcoll: sip, Type: ip, value: your traffic sender ip, rewritefrom: oldtechprefix, rewriteto: newtechprefix.

 

If you need more complex rules then you can use the prefix rules form in the mmanage application.Here you can add/remove any prefix for A and B numbers before and after the routing.

 

You can rewrite prefixes before they arrive to the routing by entering your preferences here.

The Mizu routing engine will accept only 3 digit length techprefixes or no thechprefix, so you must convert them here if your traffic sender will send the traffic with techprefix that are not three digit length.

 

For example you can set up a rule which defines that every incoming number from ip 111.111.111.111 on H323 if begins with 1234 must be rewritten to begin with 56.  Number 123499999 will be rewritten to 5699999.

If the “RewriteFrom” is emtly, then the “RewriteTo” fill be insterted before the number

 

To rewrite prefixes on router number normalization, you have to set the following global config values:

prefixrewritestr: the original prefix

prefixrewritefrom: keep from

prefixrewriteto: insterted string

for example to handle the hungarian roaming prefix: 08 + SK + BK + NSN +SN you have to set the following values:          

prefixrewritestr: 08X…

prefixrewritefrom: 9

prefixrewriteto: 36

 

If you need more flexibility, you can edit the v_check_pxrules stored procedure manually using any SQL expression.

 

For CLI control you can set the “cli” field for any user:

CLI:   CLIR and CLIP settings

                0: forward always   (forward asserted as normal number always!). Will not hide, even if caller was set so.

                1: normal handling (forward asserted as normal number) -default

                2: forward as asserted identity always (identityrewrite asserted)

                3: forward as asserted identity only to trusted domains (identityrewrite asserted)

                4: normal hide (no idenityrewrite forwarding)

                5: force hide (no asserted identity too!). Always hidden.

 

 

 

To completely rewrite the A number you can use the “rewriteanumber” field.

To cut some prefixes from the A number use the “cutanumber” field.

To allow some A numbers and rewrite other numbers you can use the identityrewrite and identityforward fields.

This can be useful when not all your user have real PSTN numbers.

 

 

Addtechprefix: we insert this number before the callednumber if the caller doesn’t send its calls with tech prefix.

identityforward: we can toward these kinds of usernames and the other we rewrite to „identityrewrite”.

identityrewrite: if the caller username don’t match the identityforward prefix, then we rewrite it.

 

For more control over the A number you can use the prefix rules form or manually edit the v_check_pxrules stored procedure.

 

Prefixed can be also used for authentication, routing and billing.

 

5.91. Possibile NATs and firewalls

There are several ways UDP might be handled by a specific NAT or firewall implementations, these are categorized into:


Full Cone NAT

A full cone NAT is a solution, where all requests from the same internal IP address and port are mapped to the same external IP address and port. Furthermore, any external host can send a packet to the internal host, by sending a packet to the mapped external address.

 


Restricted Cone:

A restricted cone NAT is a solution, where all requests from the same internal IP address and port are mapped to the same external IP address and port. Unlike a full cone NAT, an external host (with IP address X) can send a packet to the internal host only if the internal host had previously sent a packet to IP address X.

 


Port Restricted Cone

A port restricted cone NAT is like a restricted cone NAT, but the restriction includes port numbers.

Specifically, an external host can send a packet, with source IP address X and source port P, to the internal host only if the internal host had previously sent a packet to IP address X and port P.

 


Symmetric Nat

A symmetric NAT is a solution, where all requests from the same internal IP address and port, to a specific destination IP address and port, are mapped to the same external IP address and port. If the same host sends a packet with the same source address and port, but to a different destination, a different mapping is used. Furthermore, only the external host that receives a packet can send a UDP packet back to the internal host.


5.92. How to disable CLI for all outgoing calls

For the sip proxy users(s) in the rewriteanumber put “anonymous”. Make sure you don’t have identity forward and identity rewrite (both of them must be emty)

 

5.93. How to change the database username/password

The auto installer will use the “sa” username with “srEgtknj34f” password by default.

 

Install the SQL Server Management Studio if not already installed.

Login with the old credentials.

Open “Security” -> “Logins”. From here you can easily add/remove any users or change passwords.

 

Before changing the default user settings, stop the mserver service (By launching the stop.bat file or from Services).

Change the database settings in the mizuserver.ini configuration file.

Restart the voip service.

 

5.94. Performance optimizations

Set trace level to 1
Setup user caching (“cacheregistrations”)

Set checkfilecontents to false.

Optimize the number of threads (“thead”settings)

Turn off brs if not needed. (“lcr_brs”)

Turn off the dynamic firewall.

Turn off client credit (balance) notifications (set sendusercredit to 0)

Turn on register cache (set cacheregistrations to 2)

Turn off rtp mutex (set “usertpmutex” to false)

Disable RTCP (set enablertcp to 0)
Remove rules if not needed (checkprefixroules)

Turn off  “creditcheckforts” if not needed

Turn off  waitforsqlupdate (Set to 0)
Turn off checkepvalidity (Set to 0)

Turn off storecdrcomments
System: Use AnsiString instead of StringEx

System: Use critical section instead of mutex.

System: SQL optimizations and profiling.
System: Use separate signaling send thread.

 

5.95. How to reset a failowered gateway/direction

-set tb_users.nopriority to any date-time in the past

-open failoweing and reset the failowered gateways

-check if all gateways have provider pricing

 

5.96. How to remove the 3 digit techprefix system wide setting

Run the following queries and reload the server config.

update tb_cdrs set callednumber = substring(callednumber,4,99) where calledid > 0 and LEN(callednumber) > 3

insert into tb_settings (location,filename,inisection,keystr,valstr) values ('global','vserver','settings','dbformat','86174')

insert into tb_settings (location,filename,inisection,keystr,valstr) values ('global','vserver','settings','usetechprefix','false')

update tb_settings  set valstr = 'false' where keystr = 'usetechprefix' and inisection = 'settings'

 

update tb_users set ccenddate = getdate()+9999

update tb_users set ccstartdate = getdate()+2 where ccstartdate > getdate()

5.97. How to enable H.323 modules?

H.323 is usable if your license contains these modules and you have installed the H.323 modules during the initial setup.

Open the global configuration form.

Search for h323

Set the followings to true:

-CAN_hash323

-CAN_runsipproxy

Restart the VoIP service.

 

 

5.98. How to add an SMS provider?

The server can connect to SMS providers (such as clickatel) and send SMS message via HTTP GET request.

The URL parameters must be obtained from the SMS provider.

Set the URL in the global configuration under the “smsurl” key.

You can use the following keywords in the URL:

[fromid], [fromnum],[tonum],[message],[smsid]

After all SMS message a CDR record will be created with it’s type set to “SMS”.

For unified pricing you can use the “smsprice” and the “smstime”. (in this case all sms messages will be billed with the same price, regardless of the destination)

Othervise the pricing can be set on the “Price Setup” form the same way as for voice calls. The only difference is that all SMS messages appear with 60 sec duration.

Unicode messages are supported.

 

5.99. Working with groups using direct SQL

Open “Direcy Query” from MizuManage or MS SQL Management Studio.

 

--check related tables

select top 1000 * from tb_groups

select top 1000 * from tb_grouptypes

select top 1000 * from tb_groupentries

 

select * from tb_groups, tb_groupentries, tb_grouptypes

where tb_groupentries.groupid = tb_groups.id and tb_groupentries.entrytype = tb_grouptypes.dirid

 

--create a new group

insert into tb_groups (name) values ('testgroup')

 

--add 1 user to the new group (by id)

insert into tb_groupentries (groupid,entrytype,entryid) values

(

(select id from tb_groups where name = 'testgroup'),  --group id instered previously

1, --entry type. 1 means "endusers" (values from tb_grouptypes.dirid)

100207 --id from tb_users

)

 

--add all users to this group which username contains "111"

insert into tb_groupentries (groupid,entrytype,entryid)

select

(select id from tb_groups where name = 'testgroup'),

1,

id

from tb_users

where username like '%111%'

 

--select users from this group

select tb_users.id, tb_users.Username, tb_users.name

from tb_groupentries, tb_users

where

tb_groupentries.groupid = (select id from tb_groups where name = 'testgroup') and

tb_users.id = tb_groupentries.entryid

 

--delete group

delete from tb_groupentries where groupid = (select id from tb_groups where name = 'testgroup')

delete from tb_groups where name = 'testgroup'


5.100. Working with resellers

-set the “resellerbilling” global config option to true

-unlimited reseller child/parent relationship can be created (limited by the “maxresellers”  global config options)

-this relationship can be analyzed using the “Ownerships” form,
-make sure that you have a public reseller price listing
-reseller will be able to create their own prices on the website

-reseller can create a “base tariff” and other tariffs assigned to individual users

-individual reseller prices are stored in tb_billsources with their “resellerid”

-if reseller has not tariffs, than the billing will be done after usual enduserprices

-top reseller id is stored in tb_cdrs.resellerid and the “othercost” field will contain the payment from the reseller (loaded from public reseller price)
-individual reseller cdr records are stored in the tb_cdrresellers

-check reseller statistics on the “Advanced Statistics” form

 


5.101. Working with callshops

-callshop owners are endusers

-cabins are sub-endusers where the parented and the billed user points to the callshop owner

-callshop owners (endusers) can add/modify their sub-endusers (cabins) from the web

 

 

 

Copyright © 2006-2010 MizuTech SRL