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.3.
Contact and tech support25
2.1.7.
Alerting and Daily report26
2.1.12. Direct
command interface27
2.1.14.
Selfcheck and reporting27
3.1. Server
configuration checklist30
3.5. Server
backup, recovery and maintenance33
3.5.2. Using
Backup database tables33
3.5.4.
Saving recorded voice34
3.5.5.
Alternative backup deletion35
4.3.15.
Callcenter Statistics57
4.4.11. SIM
Channel reservation by caller protocol87
4.4.12.
Number portability database88
4.5.8.
Invoice and payment storage99
4.5.9.
Enviroment variables101
4.8.2. Gateway
Basic Settings131
4.8.3.
Gateway Advanced Settings132
4.8.6.
Handling incoming calls from GSM network140
4.8.7.
Operator friendly gsm termination141
4.8.8. How
to setup a gateway behind a NAT*143
4.9.10.
Campaign and global settings155
4.10.3.
Calls from database165
4.10.5. Automatic
software upgrades165
4.11.9.
Call Waiting and queuing169
4.11.17.
Calling Card services175
4.11.18.
Phone to Phone (P2P) calls176
4.11.20.
Web (account access)179
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.4. How
can I make test calls?183
5.5. How to
check the call quality on a specific channel?183
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” status185
5.10. SIP
caller cannot call185
5.11. SIP
called cannot be called185
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 simpacket186
5.17. Calls
are routed to wrong simcards186
5.20. SIM
cards with low credit186
5.21. GSM
Gateway not working187
5.22. GSM
Gateway malfunctions187
5.23. Wrong
disconnect reasons187
5.24.
MManage cannot connect to the server188
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 gateway189
5.33. How
to disable PIN request on GSM gateways189
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 often192
5.47. H323
signaling problems192
5.48. How
to set up the automatic credit recharge?192
5.49. The
automatic credit recharge is not working192
5.50. How
to monitor the credit automation?193
5.51.
Gateway and channels are inactive193
5.52. How
calls are processed193
5.53. How
to set up holiday billing194
5.54. How
to treat specific weekends as weekdays194
5.55. How
the different currencies are handled?194
5.56.
SimChange settings from the command line194
5.57. How
to reenable blacklisted but good numbers195
5.58. How
are different currencies 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 tasks197
5.65. How
to reserve GSM capacity for a certain protocoll199
5.66. PDF
creation in MManage199
5.67. How
to setup a new virtual server instance200
5.68.
Handling dynamic & private ip/port201
5.71.
Redirect or forward sessions to other domains203
5.72.
Delete old database backup204
5.75. How
to scan your SP for live numbers205
5.76.
Routing calls from virtual servers206
5.77.
Routing calls to virtual servers206
5.78. How
to add plugins in MManage206
5.79.
Request/response target address207
5.81.
Automatic prepaid credit expirity209
5.82.
Simple prefix rewrite209
5.83. Short
number and internal billing210
5.84.
Cropping sound on ring when playing voice (ringtone, announcement or any other
promt210
5.85. How
to play user credit in IVR210
5.87.
Running Mizu Server in proxy mode212
5.89.
Ringtone for IVR forwarded calls214
5.90. CLI
settings / A and B numbers / Dial plan214
5.91.
Possibile NATs and firewalls216
5.92. How
to disable CLI for all outgoing calls217
5.93. How
to change the database username/password217
5.94.
Performance optimizations218
5.95. How
to reset a failowered gateway/direction218
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
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)
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.
Ø 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
Ø 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
Ø 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
Ø 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
Ø 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
Ø ACD Features
Ø Unlimited accounts /
Unlimited Extensions
Ø Automatic pincode generation
Ø Flexibile authentication
(digest,IP,port,user,etc)
Ø 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:
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
Ø 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
Ø 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
Ø 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)
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
Ø 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
Ø 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.
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
Full
remote administration supported.
Continous
email support.
24/7
emergency phone support.
Visit
http://www.mizu-voip.com for more details.
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.
The
Mizu SIP stack was written in C++. It’s very fast and robust, currently used by
voip service providers handling thousands of users.
Capable
to work as a simple Gateway or as a fully featured Gatekeeper.
Thank
to this module, the protocol conversion is very transparent. You don’t even
need to know if your partners use SIP or H323.
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.
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.
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.
The
server can send various reports and alerts based on predefined rules. The
reports are sent by email or SMS.
You
can create up to 100 virtual server on a single pc. These are completly
separate billing/routing/signaling entitites.
Manage
operators, automatic call distribution, IVR and other callcenter specific
tasks.
This
NT service can automatically detect critical service problems and restart the
VoIP server, the SQL database or the OS.
The
built-in HTTP server will listen for service requests.
Administrative
tasks and class5 service requests can be handled by the command line TCP
interface.
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)
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.
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.
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.
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.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
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.
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)
-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
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)
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.
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
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.
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.
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
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.
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)
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)
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
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
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
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)
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
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,
-Server,
Blacklisted: dropped due to ACL (blacklist)
-Wrong
Media: no voice activity detected.
This
is a simple listing of your channels. You can discover all simcard problems by
scrolling down this list. (Missing channels are highlighted)
This
module tests the capacity for the predefined direction in priority order.
Shows
system utilization statistics.
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)
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)
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.
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.
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!
Duration
lists of several traffic types.
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.
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
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
Grouping
of several items will ease the administrations tasks. The following type of
items can be grouped:
SIM
Packets
Users
Gateways
Traffic
Senders
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.
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.
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.
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.
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.
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
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
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
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
Define
the radius servers, protocol and login information here. Used for authorization
and billing.
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.
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)
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)
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.
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.
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.
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).
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
You
can set curency in 3 places:
This will be the default currency for all internal
operations
When you receive pricelist in other currency, with
this setting you can easily convert it to your native currency
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 ‘,’
You
can use this form for your cash flow administration regarding your voip
business. (Other simple alternative is Excel :)
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
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.
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.
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
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 |
|
ACH
Payments |
|
Authorize.Net |
|
Bank
Of America |
|
BeanStream |
|
Chase
Merchant Services |
|
Concord
EFSNET |
|
CyberCash |
|
Cyber
Source |
|
DPI
Link |
|
ECHOnline |
|
ECX
QuickCommerce |
|
eProcessing |
|
eWay |
|
Fast
Transact |
|
FirstData
/ Cardservice Int. |
|
goEmerchant |
|
GoRealTime
(Full-pass) |
|
Innovative
Gateway |
|
Intellipay
ExpertLink |
|
Iongate |
|
iTransact
RediCharge HTML |
|
LinkPoint |
|
Merchant
Anywhere |
|
Merchant
Partners |
|
Moneris |
|
MPCS
Weblink |
|
NetBilling |
|
Network
Merchants |
|
NexCommerce |
|
NOVA's
My Virtual Merchant |
|
NOVA's
Viaklix |
|
OGONE |
|
Optimal
Payments |
|
PayFlow
Link |
|
PayFlow
Pro |
|
PayFuse
- First National MS |
|
Paygea |
|
PayJunction
Trinity |
|
Paymentech
- Orbital |
|
Payment
Express |
|
Payments
Gateway |
|
Payready
Link |
|
PayStream |
|
Planet
Payment |
|
Plug
'n Pay |
|
PRIGate |
|
Protx |
|
PSIGate |
|
RTWare
WebLink |
|
SECPay |
|
SecurePay |
|
SkipJack |
|
Sterling |
|
SurePay
/ YourPay |
|
TransFirst
eLink |
|
TrustCommerce |
|
USA
ePay |
|
uSight |
|
Verifi |
|
Verisign
PayFlow Pro |
|
WorldPay
Select Junior Invisible |
|
YourPay |
|
and
more ... |
Search
for epayment in the global settings for the configuration details.
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.
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)
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
Used
to configure your Mizu VoIP-GSM gateways.
The
fields are the same as listed in section 4.3.1
Listing
of gsm channels. The fields are self explanatory.
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.
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
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.
List
of simcards in call duration order.
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.
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.
In
the SIM Bank form you can monitor the sim flying activity.
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
From
this form, direct SQL queries can be done against the Mizu backend. Use it
carefully!
With
this utility, the conversations on Mizu gateways can be listened in realtime.
H323
test calls can be done here.
Upload/download
files from gateways.
Use
this form to login directly in gateways and on the server.
Database
administration tool. Only for database experts!
Direct
link to the Costumers website if you have any.
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.
You
can define tasks for technical support with the ease of this form.
Any
quick note here (instead of notepad :)
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.
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.
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
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:
[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: - , / . :
//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=
//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=
[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=
//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
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
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
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
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.
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.
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.
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
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
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
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
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
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.
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.
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.
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
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).
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)
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)
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).
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).
The
MAgent application is used by callcenter operators as a sip client and database
frontend.
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
Simple
VoIP client window where the operator are free to make calls to any number
Call
to any client presented in the central database.
Will
handle calls automatically if the operator is part of a campaign.
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!
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)
Failed
calls (error code, no answer) will be rerouted automatically to the next device
according to routing preferences.
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.
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.
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.
The
call-hold feature is implemented according to SIP specification. Most UA will
support it.
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
-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
Three
way dialogs with callholds are supported.
Call
waiting scenarios are supported. Need to be implemented in UA to work.
Group
hunting and queuing are implemented only in callcenters.
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.
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).
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*
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*
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
Used
for handling incoming calls by callcenter operators.
See
the “callback“ global config option.
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
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.
You
can implement this service on your website or in softphone.
The
calls can be initiated with the following methods:
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)
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.
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×tamp=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.
When
you login to the Mizu website, you can do the followings:
-edit
user details
-check
statistics
-check
CDR records
-initiate
payments
-etc
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.
Skip this chapter if you are
not using VoIP-GSM gateways.
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”.
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
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
set
the signalport to 1720 in the gateway inifile
launch
ohphone g729: 999simid#telnumber
Set
up to active silencedetection (silencedetection=1)
Increase
the jitter buffer (minjitter, maxjitter)
Use
a low bandwidth codec (onlyg72x=1)
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.
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
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)
! 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
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
1.
Check the logs (filtered to „Server”)
2.
If you cannot find the solution then.
a) Restart the server.
b) Call the administrator.
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.
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
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
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
1.
Check if simcard is active
2.
Check allowedpartners, absoluteprioritypartners, absolutepriority
3.
Check sim packet settings, including
min/max speechlengths
1.
Check routertp settings for the caller and the called
2.
Check called firewall and nat settings
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)
1.
Check absolutepriority, min/max daily/monthly minutes on sim and simpacket
2.
Check the routing for that packet
1.
Check absolutepriority for gateway, sim and simpacket
2.
Check routing patterns and timetable
1.
Check disconnect reasons for that direction
2.
Check if gateway audio is ok
1.
Check disconnect reasons for that direction
1.
Check if you have chargecards for that simpacket
2.
Check charge fields in tb_sims (check if charging is enabled, lastchargetry
date, etc)
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
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
1.
Check firewalls
2.
Check the log file for that directions
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
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
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)
1.
Follow the failover plan.
2.
Call the administrator
MManage->Administration->Server
Console->Connect and send the
„servicerst” command
-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
-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.
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.
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
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
On
the “Configuration” form select “Basic” settings and check at least the
following values:
LocalIP,
LocalInternalIP, LocalDomain, currency, Routing, emergencydir, creditunit
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!
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!
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.
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)
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)
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.)
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.
1.
“Logs” form
2.
“Server Monitor” form
3.
Set up your trace level in the “Configurations” form (filer after the “log” expression)
In
the Gateway Configuration check the followings: volumein, volumeout, vgr, vgt
In
the Gateway Configuration check the followings: gkip, gkpassword, gkdiscover,
gkprefixesX
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
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
Check
your firewalls.
Check
Gateway Configuration: onlyg7x, connectwithmedia, enableh245tuneling, faststart.
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
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”)
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.
Check
if the gateway has internet connection.
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)
In
the price form in “Time Definitions” select the “
Set
the priority higher in the Directions settings
Set
up a new entry in the holidays form and don’t set as holiday (uncheck the
checkbox)
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.
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
-
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.
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.
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.
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)
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
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
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.
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).
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.
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
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
Usually
you can filter out fax calls by setting
the “block711” global setting.
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.
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)
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.
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.
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.
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.
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
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’)
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.
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..
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
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
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";
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
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
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).
Cropping
sound on ring when playing voice (ringtone, announcement or any other promt)
Set
the stopplayeronrtprec global config value.
Create
a “Play number” action.
Enter
[credit] for the file name.
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.
(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.
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.
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
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.
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.
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)
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.
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.
-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
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()
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.
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.
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'
-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
-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