Knowledge Updates

5 benefits of auto Dialer software for call center

Call centers run on the multiple campaigns which is for the lead generation, for the market survey or nurturing the inbound leads or solving some product query. Call Center Software Provider will mention the type when the organizations want to build it. In the call center software, it is very hectic to dial the contacts manually as it won’t ever achieve the competitive targets. The major problem in the manual dialing is that the agent ends us wasting their time in unproductive tasks such as manually dialing each contact of the customer, answering machines detection and disconnected calls as well as facing the busy tones. There are dialer systems for a call center which can boost up the productivity by 200% as it reduces the idle time and also increases the talk time. But when there will be the autodialer software for the call center then there will be the many features such as automatic answering machine detection, if the person is busy then sending the voicemail automatically and all these features which will ease the calling process of the agents.

Each type of call centers needs the different type of auto dialers which can also be provided by the call center software provider. This dialer system for the call centers suits the various dialing process and also bring the benefits to call center operation. For example, predictive dialer encourages a call to lessen operator inactive time, as it were, and comparatively, progressive dialer can enable expand agent to talk time accordingly enhancing agent productivity. Then again a preview dialer empowers a call center to enhance conversion rate for its complex inside sales process.

Major benefits of the dialer systems for call centers

There is a lot of benefit of auto dialer on the manual dialing. Some of them are:

Reduced Idle Time

Manual dialing prompts high agent’s idle time as agents need to hold up until the point that a call is connected. For each call, agent sits around idly in listening busy tones, voice-mail, answering machines and confronting disconnected calls. The auto dialer technology empowers the dialer framework to perceive these components and skirt the call if any of these time-wasting signals are recognized. Auto dialers like predictive dialer are extremely viable in limiting inactive time as it guarantees just addressed call are steered to the agents. This spares the agent time and enables them to go to more calls every hour.

Real-Time Monitoring and Reporting

Auto dialer software for call center provides the insight for the call center operations with the help of the dashboards and the customizable reports. These dashboards keep helping the call center’s managers to make a decision and help the agents to take the correct action while correcting the problems in the real-time. This software helps in to have a quick access to the call recordings to help the managers that they can monitor the agent’s performance and also quality check the call.

Increased Agent Talk Time

Auto dialer which the call center provider provides helps the agents to increase the agent's talk time when compared to the manual dialing. With the less idle time and improved call connect ratio, the agent can now take more quality time talking to the prospects and customers on call. The agent who was spending 15-20 minutes on the call will now have minimized to 10-15 minutes as there will be no waiting time for the agents. The progressive dialer is the dialer software that surges the agent conversation time massively leading to improved customer engagement and high agent confidence and efficiency.

Improved Operational Efficiency

Auto-dialing system usage implies No More Manual Dialing. Auto dialer software for call center takes out the different call requirements like misdialing, extreme hold up time and call drops, influencing the operational productivity. Automating the dialing procedure guarantees just connected calls are directed to the specialists, as auto dialers can distinguish the busy signs, voice messages, and non-functional numbers, in this way expanding the call interface proportion strikingly. More connected calls result in higher agent profitability and enhanced operational productivity.

Better Lead Conversion Ratio

At the point when smart auto dialer software is executed for complex inside sales process including high-value leads, it conveys deftness to the outbound calling process. Auto dialers like preview dialer that give the fast depiction of client's contact details of interest before dialing the call, encourages agents to plan before a call is connected. Also, with earlier data at the agent's transfer, he/she can drive the customized conversation, which connects with the prospect and builds the odds of lead change fundamentally. After getting this much of benefits for the auto dialer software for call center no one can ignore it for their call center solutions. But to be ensured every call center has a different need and will require a specific type of auto dialer. So the organization should make sure what to get from call center software provider.


Which One Is Best Call Center Software: Hosted Or Cloud?

It is as simple as that. Inbound call center software is complicated, No? What does it mean? Is it best to hire someone who’ll host everything and will charge a monthly fee, right? But no, a lot of the savings which the organization has been given to the hosting company will be enjoying. It’s not that. Other than this there are lots of features which are infused in the hosted Inbound Call Center Software. Best call center software means that it’ll work for the benefits of the customer. Before moving to why the organization should put its money to the hosted call center it’s a must for everyone to know about the benefits of hosted inbound call center software.

What are the Benefits of hosted Inbound Call Center Software?

The hosted inbound Call Center software solutions have no hardware to purchase and no maintenance fees as it is known by everybody who has once invested in any hosted system.

But still, there are many of the benefits which need to tell when it comes to the best call center software. When traditional call centers are compared to the hosted call center software’s then there are many of the benefits. Some of them are listed below:

* No large costs or maintenance fees

* No need to purchase or maintain hardware

* With different home agents, Multiple sites can be operated as a virtual call center

* Reliable security and confidentiality

What comes under best call center solution on the cloud?

There is a multi-tenant architect in the cloud-based model. It will be efficient delivery as from the beginning it is designed to give the best connectivity and is secured as well.

Low operating cost and quick deployment through the shared services is the main focus of the cloud call center solution. A customer can always increase the capacity of the call center when needed and if there is an offseason than they can always scale down. This is known as the high performance as well as the saving through the instant scaling.

Why is Hosted a Better Choice for Call Centers?

There are lots of benefits when the organization is going to use the hosted inbound call center software. An organization works will be lessened once it will be working on the hosted call center. Try to get the best call center software by analyzing all these given points.

• Simpler Management: When first installing the traditional phone in the office requires the appointment so that the technician may set up the whole system. After that they will require the hardware for the phone system as well as will conduct the test and result that it’s working. A lot of wire is used for the traditional call center too which after few days gets jumbled up. While this is only the primary issue but the real issue begins when another line has to be set up. In this case, hosted inbound call center software doesn’t need much time.

• Add-on Features: Hosted inbound call center software is a lot flexible when compared to the traditional or cloud software. It can be scaled according to the needs of the business. Some of the new startups need only a few features but once the business has a growth a lot of features are needed. So, in this case, hosted inbound call center software will be much of use as it can be implemented smoothly.

• Data Integration: When the business grows it means that the customers are coming and the integration across the communication channels are needed. That means it would require the bringing a lot of social media attention such as phones, email, voicemails, chat, social media interaction which is used by the customer as well. The data can be integrated well in the hosted call center software.

• Cost Savings: As we all know VoIP’s one of the most prominent features is cost saving. The only cost investment is in the handset on which the call center solution will be implemented. Pay for the add-on service on the flat rate.

• Productivity: Employees will be getting more when they’ll be working with the hosted VoIP. A lot of features such as voicemails via email can be accessed on the handset, there will be less missed calls and on the top, the data integration can eliminate the confusion created.

Once again there will be the point where hosted inbound call center software will be having the most feature when compared to the cloud-based call center solution. But both will suffice their own needs once told by the customer when they will give their requirement. The, Best Call Center Software has its own perks and it’ll only be decided according to the business need.

About Gventure,

Interested in hosted inbound call center software? Talk about the project with the experts at GVenture. Tools such as Asterisk are used to build custom communications solutions and Angular to provide the UI. Having an idea about VoIP software, GVenture helps with various VoIP software solutions and will customize according to the need.


Voice Broadcasting Solution: Benefits which will help in growing business

Voice broadcasting solution makes a great impact when it comes to the VoIP services. A lot of businesses need the best voice broadcasting service. The voice broadcasting means the voice which should be sent to a mass people. The people receive the messages or call for the promotion, surveys, notification, brand awareness and what not in the voice broadcasting solution.

The voice broadcasting communication goes to the massive scale. Commercially and as a community establishment both use the voice broadcasting solution as it is cost effective and as well as easy. The broadcast also makes sure to send the messages to the customers at once.

Benefits of Voice broadcasting solution

There are more ways in which the Voice Broadcasting Solutions can be used. Some of them are:

Non-intrusive and personal

Voice broadcasting is not like the direct marketing, it is less intrusive. The personal touch can be added to the communication. The personal voice creates the aura where it shows the personal side of the brand and it let establishing the trust in the brand for the connection.

Large-scale communication

What makes the voice broadcasting solution best? The answer is the power of sending the messages to a hundred and thousands of peoples at once. Hosted voice broadcasting solution helps customer utilize this service as a potential communication. The business automation is at its best in the voice broadcasting service.

Reach the non-tech savvy

Everyone in the world is already using the mobile phones. And the voice broadcasting solutions makes it easy when it comes to the mobile phones. As if the people are receiving the messages or calls then actually they are listening and it will also make an effect. Voice broadcasting is actually the oldest business technology. Voice broadcasting, in this case, means that if there is a non-tech savvy person then they are also the ones who can easily get what the brand is saying.

Brand-building

Send the messages directly to the customers telling about your brand. It is very easy to tell them what you want to portray. Once you have messaged or call them then the name of the brand will be in their mind if they’re going to purchase.

Expand Your Reach and Increase Profits with Voice broadcasting solution

There are already the businesses which are opting out of the voice broadcasting solution to increase the profits and also increase the engagement. There are also the other ways in which the company can take the help of this best voice broadcasting service. Let us have a look at that:

Surveys

For a small business, it is quite difficult to know what the customer wants, as it is needed for the growth. Now here the voice broadcasting comes in handy. A company can conduct the survey by implementing the IVR into the voice broadcasting solution. In the voice broadcasting solution, the question can be asked about the products and get the feedback. It also makes the product good in many scenarios as the customer feedback is very important. In this case, the brand will be always be connected to the customer and will also fulfill their needs and solve their problems.

Webinar invites

Invite the peoples to the webinars. Webinars are run to generate the leads or sales. Use voice broadcasting to increase the participation. If half of the messages are delivered for the webinars and attendees will become the leads and then the sale can be grown. And if the leads and sale are worth, it will generate a lot of additional revenues.

Notifications

Voice broadcasting helps in engaging for the promotions, sales, and product launches. With the help of voice broadcasting solution let the audience know and get them excited. Any time if there is a launch or promotion, send a message or call to the customer to alert them. Generate excitement and build momentum with the help of voice broadcasting for the product launch.

Speed up the marketing processes, connect with your potential customer and build the brand. Voice broadcasting solution is the small and viable solution for the small business. Engage the audience in the business and grow it with the help of voice broadcasting solution.

About Gventure,

Interested in voice broadcasting solution? Talk about your project with Gventure’s experts. Asterisk is required to build custom communications solutions and to build innovative communications products such as voice broadcasting and IVR. Whether you are using VoIP software, Gventure can help you with various VoIP software solutions which you’ll agree on the next steps of your project.


It’s All about Voice Broadcasting & White Label Hosted PBX

Voice is our fundamental correspondence asset yet particularly is the tool more essential for chipping away at radio. The voice on radio transmits the clear content, as well as all the importance and the full of feeling extent. Subsequently, the crowd’s thoughtfulness regarding the radio message and in addition understanding and absorbing of it will rely upon a right and expressive utilization of voice. Various affordable voice broadcasting software’s are there in the market which can communicate the Voice. Asterisk Hosted PBX Solution has its own particular benefits with regards to Voice broadcasting programming. A considerable amount of the organizations provide white label and hosted PBX.

Voice broadcasting is a mass communication technique which broadcasts telephone messages to millions of call recipients at once. Both commercial and community applications are made from this technology as everywhere there is a need for Voice broadcasting. Targets such as subscribers, members of an association, employees, group of local residents can be contacted by the Voice broadcasting solution. When used by government authorities, it may be known as an emergency notification system as these notifications are intended only for use in emergencies mainly in a disaster management.

The Broadcasting software is developed in the Asterisk and with any of the programming language as a User interface. These Affordable Voice Broadcasting Solutions are always customizable for every client and easily integrate with ERP, CRM, billing systems. Voice broadcasting solutions are usually used by banks and credit companies so that they remember their clients about payment day as a lot of customers need to remind about the payment.

Affordable Voice Broadcasting Software: Types of campaign

Affordable Voice Broadcasting Solution is completely adjustable to every customer’s specific needs and takes into consideration exceptionally configurable call-flow according to your particular business objectives. Automated voice calling takes care of media transmission issues like bill updates, notices, alarms feedbacks and business promotions and so forth. Proactive dialing increment telemarketing approach, voice communication enhances communication with customers. There are numerous manners by which Voice Broadcasting solution can be utilized. Some of them are:

Business to Business(B2B): Campaign where one business is centered around calling different organizations. Voicemail campaign message battles after business hours are regularly viable for calling organizations.

Business to Consumer(B2C): Campaigns where one business is centered around calling residences and the people or consumers. The broadcasting is incredible for thank you or follow up calls.

Live message and Voice mail campaign: Similar to a live message the only campaign this alternative will play two unique messages. One for live answers and one for voicemails live messages will Offer the alternative to press a key to be exchanged a live representative and a choice to be removed from the call list. The voice message messages essentially leave a number to get back to.

Surveys: Ask questions and permit responses by pressing keypad choices. The voice broadcasting system will record reactions for reporting purposes.

Voice message only campaigns: Primarily utilized for Business to Business calls. This is a decent way to produce callbacks. A large portion of the supplier’s software will leave voice message messages with a number to get back to. That gets back to will be directed to operators.

Live message delivery only campaigns: Play your message just if the autodialer recognizes that the telephone has been replied by a live human voice Live messages can offer the alternative to press a key to be exchanged to a live representative or and a choice to be removed the call list.

Message Campaign: A message will be picked to communicate to the recipients from telephone list. There are two sorts of messages, one being a message with an exchange/Voicemail option and another with none.

Asterisk hosted PBX solution: Why in Asterisk?

Asterisk is a software implementation of a telephone private branch trade (PBX). It was made in 1999 by Mark Spencer of Digium. It’s an open source language which means the developers can develop affordable voice broadcasting solutions. Like any PBX, it enables appended phones to make calls to each other, and to interface with other telephone utilities including people public switched telephone network (PSTN) and Voice over Internet Protocol (VoIP) services. It is mainly used to develop the White Label Hosted PBX Solution.

Custom voice and text message broadcasting software solution accompany advanced features and particulars that assist and help the remote audiences. The solution is most appropriate to every single measured business. It is a perfect and Affordable Voice Broadcasting Solution for running event promotions, campaigns, making polls and surveys, sending updates, warnings, and reports. Sending voice and SMS broadcasting arrangement can kill the necessity of voice agents. Along these lines, organizations can spare 30% to 70% cost. Clients can transfer their own voice recording or utilize its “text-to-speech” feature. Additionally, IVR scripts can likewise be dealt with utilizing this voice broadcasting solution. This arrangement is anything but not difficult to set up, easy to use and maintain.

White Label and Hosted PBX: Why every business should have PBX?

Putting resources into a product based IP PBX makes both budgetary and great business sense, for new organizations obtaining another business telephone system, and furthermore for organizations who are hoping to replace a current PBX. IP communication is the method for the future and an IP-PBX will convey to your business cost reserve funds in administration, upkeep, and telephone call costs, in addition to extra money-saving advantages from included efficiencies. Any of the business can go for either White Label or Hosted PBX. Some of the reason why business should go for IP PBX is:

Twice the phone system features for half the price Better customer service & productivity Eliminate phone wiring Easier to manage because of web/GUI based configuration interface Much easier to install & configure than a proprietary phone system

About GVenture Technology,

Interested in White Label and Hosted PBX or asterisk hosted PBX solution? Talk about the project with the experts of the top notch development company. Gventure uses Asterisk to build custom communications solutions and to build innovative communications products such as Voice broadcasting software or the hosted PBX which consists of IVR and many more. GVenture can help with various VoIP software solutions which you’ll agree on the next steps of the project.


Double Your Profit With Gventure's free hosted PBX solution

When it involves selecting the appropriate PBX system to use for your business, there are varieties of things concerned that may bend your conclusion toward employing a specific system. A free hosted PBX solution is the need of the time. The most efficient things to get a handle of those factors are to look at the advantages and disadvantages of the various sorts of PBX systems that are offered.

PBX (Private Branch Exchange) is a multiline telephone system, for the most part, used within businesses, which allows users to communicate internally as well as making calls outside of the business, in simplest terms. In the first place, a hosted PBX usually comes with options that permit unlimited free calls to be placed to assure locations around the globe. Also, not like associate degree on-the-spot IP PBX, there are not any initial investment prices for equipment and software solution. Well, looking at the benefits of a free hosted PBX solution for your business some of them are listed below.

Costs: With a hosted PBX, cut the value of line rental, on-the-spot maintenance, etc. As everything is managed over Broadband, there’s no line rental at all! Moreover, as this, IP telecom train you in our online web-portal, thus you’ll be ready to manage your system moreover as implement any changes to call flows or ring teams as required. It’s additionally cheaper to form international calls through VoIP.

Flexibility & Scalability: Distinctive proprietary phone systems are all too easy to outgrow as they only provide a certain number of physical lines or ports. Upgrading can be time-consuming and expensive. It is a lot easier to grow your business with a Hosted PBX, and IP Telecom will help you every step of the way to ensure any growth is seamless and easily implemented.

Integration: As your voice traffic is all done through your Broadband connection, any device with a data connection will be used anyplace within the world to create and receive calls. This suggests that you just will install soft-phone applications on your mobile or a desktop.

More Control: An IP PBX system is managed from one central web-based configuration interface to create maintenance and upgrades straightforward. Compare that to ancient phone systems that use advanced interfaces that have got to be accessed and managed by proprietary phone technicians solely.

No disruption in business setup: An IP PBX phone system runs on a computer without the requirement for complex telecommunication equipment or added copper wiring to be run into your office. Instead, the phone lines are routed over the internet. The IP PBX system switches local calls to over the information network within your business and permits all users to share identical external phone lines. You even get to stay your regular phone numbers.

Boost to Productivity: IP PBX phone systems generally cost less than traditional systems. However, they additionally deliver the options to extend workplace productivity. This concept extends to remote operating too.

Loads of New Features: A Hosted PBX comes with a variety of options that may build running your business a lot easier such as Calling Features, Call Management & Reporting, Call Centre Features, etc.

If you own a business or enterprise, give us a call. We will do an assessment of your needs and make a proposal that fits your requirements and budget. GVenture’s Free GPBX- a free hosted PBX solution is a best in class PBX system and is worth considering.

Gventure’s free GPBX Solution provides latest features and functionality with affordable price. Features we tend to give to our clients are:

3rd Party CRM Integration: End-to-end customer engagement with all the sales, marketing, and support apps your customer-facing teams need to engage with customers.

Hosted IVR: To answer the callers and assist those with the correct solution or call transfer, install machine-based IVR.

ACD PBX: Answer the call automatically to greet the customers and offer a customizable pre-recorded menu while your attendants are busy on other calls by a digital receptionist.

Inbuilt Billing: Bill anything and everything with billing software offer real-time rating & mediations, accurate taxation, prepaid & post-paid telecom billing, multi-location billing, residential & business telecom billing, and more comprehensive & scalable telecom billing platform.

Graphical & Statistical Report: The Whole host of graphical representations as well as statistics available plus, assess your current team resources utilisation at a glance.

DID Management: A number of extensions can be customized, manage and maintain on the same phone line. Music on Hold Configuration: Playing music, current offers, etc. to keep your call entertained even on hold make more business.

API Integration: API integration allows to easily generating automated workflows to help you sell, deliver, manage, and invoice more effectively.

Gventure provides a free hosted PBX Solution which is known as Free GPBX. A cloud-hosted Business Phone System that carries all the potential features of traditional VoIP Phone along with the extraordinary advantages of the cloud. Get this in action and see the business connecting to the globe, like never before.


OpenSIPS Development: An important resource for joined communication

GVenture Technology takes on a pleasant ride to develop OpenSIPS applications. OpenSIPS (Open SIP Server) is a developed Open Source implementation of a SIP server that runs on Linux platforms and play in the infrastructure of an Internet Telephony Service Provider and it includes application-level functionality.

Why use OpenSIPS?

  • No vendor trap
  • Faster development cycle
  • Split work between parties
  • Easy synchronization with the mainstream via contributions ⇒ Unified effort for development
  • Performance and flexibility

Prerequisites:

  • Since OpenSIPS is known to work on most nix based systems, installing and running OpenSIPS requires some very basic Linux knowledge.
  • Also, since OpenSIPS is a SIP proxy, you will most likely need some basic SIP knowledge in order to deploy/debug OpenSIPS in some more advanced scenarios.
  • Last but not least, you will need some basic programming logic knowledge – The OpenSIPS configuration file is text-based, written in an OpenSIPS custom language, very similar to the C language.

Requirements:

gcc / suncc / icc : gcc >= 2.9x; 4.[012] recommended (it will work with older version but it might require some options tweaking for best performance)

  • bison or yacc (Berkley yacc)
  • flex
  • GNU make (on Linux this is the standard “make”, on FreeBSD and Solaris is called “gmake”) version >= 3.79.
  • sed and tr (used in the makefiles)
  • GNU tar (“gtar” on Solaris) and gzip if you want “make tar” to work
  • GNU install or BSD install (on Solaris “ginstall”) if you want “make install”, “make bin”, “make sunpkg” to work
  • openssl if you want to compile the TLS support
  • libsctp if you want to compile the SCTP support
  • libmysqlclient & libz (zlib) -libs and devel headers- if you want mysql DB support (the db_mysql module)
  • libpq / postgresql -libs and devel headers- if you want postgres DB support (the db_postgres module)
  • unixodbc -libs and devel headers- if you want unixodbc DB support (the db_unixodbc module)
  • libexpat if you want the jabber gateway support (the jabber module) or the XMPP gateway support
  • libxml2 if you want to use the cpl-c (Call Processing Language) or the presence modules (presence and pua*)
  • libradius-ng -libs and devel headers- if you want to use functionalities with radius support – authentication, accounting, group support, etc
  • unixodbc – libs and devel headers – if you want UNIXODBC support as DB underlayer
  • libxmlrpc-c3 – libs and devel headers – if you want to have XML-RPC support for the Management interface (MI)
  • libperl – libs and devel headers – if you want PERL connector to support perl scripting from you config file (perl module)
  • libsnmp9 – libs and devel headers – if you want SNMP client functionality (SNMP AgentX subagent) for opensips
  • libldap libs and devel headers v2.1 or greater – if you want LDAP support
  • libconfuse and devel headers – if you want to compile the carrier route module

Installation:

By following above 2 processes we have installed the OpenSIPS server on our system now we have to configure the server corresponding to our requirement.

OpenSIPS Installation:

1. System Update:  Update your system with latest updates and security patches using the following command.

1
# apt-get update

2. Installing Dependencies: After system update you need to install the missing packages using the ‘apt-get’ command if these are not already installed.

1
# apt-get install build-essential openssl bison flex

3. Installing MySQL Server: Let’s run the following commands to install MySQL server and it development libraries.

1
# apt-get install mysql-server libmysqlclient-dev

4. Download and extract OpenSIPS Package: We are going to download the package into the following directory using ‘wget’ command and the extract within th esame directory.

1
2
3
# cd /usr/src
# wget http://opensips.org/pub/opensips/latest/opensips-2.1.2.tar.gz
# tar -zxvf opensips-2.1.2.tar.gz

5. Compiling OpenSIPS Source: Moving step ahead let’s move into the opensips directory and run the command below to start the compilation process.

1
2
# cd opensips-2.1.2/
# make all

6. Installing OpenSIPS Source: Once the compilation process completes, you can start making its installation as shown below.

1
# make install

7. OpenSIPS Configuration: The OpenSIPS has been installed, now we are going to configure some of its basic parameters and startup script. Let’s first create a new directory for the OpenSIPS run files.

1
# mkdir /var/run/opensips

Now move to the following ‘debians’ directory and list the files in it.

1
# cd packaging/debian/

8. Starting OpenSIPS Service: All necessary configurations has been setup to proceed on starting OpenSIPS service. Simply run the following command to start OpenSIPS and the check its status, that should be active and running as shown in the image.

1
2
# /etc/init.d/opensips start
# systemctl status opensips

You can also check the state of OpenSIPS services and the port on which its running that is ‘5060’ by using the below commands.

1
2
# ps -ef | grep opensips
# netstat -alnp | grep opensips

CONFIGURATION

We have following directory where all files has be installed:

1
2
/usr/local/lib/opensips/ directory where all modules are installed
/usr/local/etc/opensips/ directory where all configuration you have make

FOR LOAD

Under Load-balancing format The below setting will create alternate call from one server and other alternately it will create same number of calls from each gateway.

1
2
3
4
5
6
log_stderror=yes
log_facility=LOG_LOCAL0
fork=yes
children=4
debug=2
listen=5060

MODULE PATH

1
mpath="/usr/local/lib/opensips/modules/"

Modules Section

DB_MYSQL

1
2
3
4
loadmodule "db_mysql.so"
modparam("db_mysql", "ping_interval", 300)
modparam("db_mysql", "timeout_interval", 10)
modparam("db_mysql", "auto_reconnect", 1)

SL

1
2
loadmodule "sl.so"
modparam("sl", "enable_stats", 1)

TM

1
2
3
4
5
6
7
8
9
10
11
12
loadmodule "tm.so"
modparam("tm", "fr_timer", 30)
modparam("tm", "fr_inv_timer", 120)
modparam("tm", "wt_timer", 5)
modparam("tm", "delete_timer", 2)
#modparam("tm", "noisy_ctimer", 0)
modparam("tm", "ruri_matching", 1)
modparam("tm", "via1_matching", 1)
modparam("tm", "unix_tx_timeout", 2)
modparam("tm", "restart_fr_on_each_reply", 1)
modparam("tm", "pass_provisional_replies", 0)
modparam("tm", "fr_inv_timer_avp", "$avp(s:callee_fr_inv_timer)")

RR

1
2
3
4
5
loadmodule "rr.so"
modparam("rr", "enable_full_lr", 0)
modparam("rr", "append_fromtag", 1)
modparam("rr", "enable_double_rr", 0)
modparam("rr", "add_username", 0)

MAXFWD

1
loadmodule "maxfwd.so"

USRLOC

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
loadmodule "usrloc.so"
modparam("usrloc", "user_column", "username")
modparam("usrloc", "domain_column", "domain")
modparam("usrloc", "contact_column", "contact")
modparam("usrloc", "expires_column", "expires")
modparam("usrloc", "q_column", "q")
modparam("usrloc", "callid_column", "callid")
modparam("usrloc", "cseq_column", "cseq")
modparam("usrloc", "methods_column", "methods")
modparam("usrloc", "flags_column", "flags")
modparam("usrloc", "user_agent_column", "user_agent")
modparam("usrloc", "received_column", "received")
modparam("usrloc", "socket_column", "socket")
modparam("usrloc", "use_domain", 0)
modparam("usrloc", "desc_time_order", 0)
modparam("usrloc", "timer_interval", 60)
modparam("usrloc", "db_mode", 2)
modparam("usrloc", "db_url" , "mysql://opensips:opensips@database/opensips")
modparam("usrloc", "matching_mode", 0)
modparam("usrloc", "cseq_delay", 20)
modparam("usrloc", "nat_bflag", 6)

REGISTRAR

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
loadmodule "registrar.so"
modparam("registrar", "method_filtering", 1)
modparam("registrar", "default_expires", 3600)
modparam("registrar", "min_expires", 60)
modparam("registrar", "max_expires", 0)
modparam("registrar", "default_q", 0)
modparam("registrar", "append_branches", 1)
modparam("registrar", "case_sensitive", 0)
modparam("registrar", "received_param", "received")
modparam("registrar", "max_contacts", 10)
modparam("registrar", "retry_after", 0)
modparam("registrar", "path_mode", 2)
modparam("registrar", "path_use_received", 0)
#modparam("registrar", "received_avp", "$avp(i:801)")
modparam("registrar", "aor_avp", "$avp(i:3223)")
modparam("registrar", "received_avp", "$avp(s:rcv)")

TEXTOPS

1
loadmodule "textops.so"

MI_FIFO

1
2
3
4
5
6
7
loadmodule "mi_fifo.so"
modparam("mi_fifo", "fifo_name", "/tmp/opensips_fifo")
#modparam("mi_fifo", "fifo_mode", 0660)
#modparam("mi_fifo", "fifo_group", "opensips")
#modparam("mi_fifo", "fifo_user", "opensips")
#modparam("mi_fifo", "reply_dir", "/tmp/")
#modparam("mi_fifo", "reply_indent", "\t")

URI

1
loadmodule "uri.so"

URI_DB

1
2
3
4
5
6
7
8
loadmodule "uri_db.so"
modparam("uri_db", "db_url", "mysql://opensips:opensips@database/opensips")
modparam("uri_db", "db_table", "uri")
modparam("uri_db", "use_uri_table", 1)
modparam("uri_db", "use_domain", 1)
modparam("uri_db", "user_column", "username")
modparam("uri_db", "domain_column", "domain")
modparam("uri_db", "uriuser_column", "uri_user")

xlog

1
2
3
loadmodule "xlog.so"
modparam("xlog", "force_color", 1)
modparam("xlog", "buf_size", 4096)

acc

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
loadmodule "acc.so"
modparam("acc", "db_url", "mysql://opensips:opensips@database/opensips")
modparam("acc", "early_media", 1)
modparam("acc", "report_ack", 1)
modparam("acc", "report_cancels", 1)
modparam("acc", "detect_direction", 1)
modparam("acc", "failed_transaction_flag", 3)
modparam("acc", "log_flag", 1)
modparam("acc", "log_missed_flag", 2)
modparam("acc", "db_flag", 1)
modparam("acc", "db_missed_flag", 2)
modparam("acc", "db_extra" , "ua=$hdr(User-Agent); src_user=$avp(i:100);
src_domain=$fd; src_port=$sp; dst_user=$rU; dst_domain=$rd; dst_port=$rp;
message=$mf; unixtime=$Ts; avp_var=$avp(s:can_uri); callstate=$avp(s:callstate);
usercode=$avp(i:1000); recieved=$avp(s:rcv); aor_avp=$avp(i:3223)")

auth

1
2
3
4
loadmodule "auth.so"
modparam("auth", "nonce_expire", 300)
modparam("auth", "rpid_suffix", ";party=calling;id-type=subscriber;screen=yes")
modparam("auth", "rpid_avp", "$avp(s:rpid)")

AVPOPS

1
2
3
4
5
6
7
8
9
10
11
loadmodule "avpops.so"
modparam("avpops", "db_url", "mysql://opensips:opensips@database/opensips")
modparam("avpops", "avp_table", "usr_preferences")
modparam("avpops", "use_domain", 0)
modparam("avpops", "uuid_column", "uuid")
modparam("avpops", "username_column", "username")
modparam("avpops", "domain_column", "domain")
modparam("avpops", "attribute_column", "attribute")
modparam("avpops", "value_column", "value")
modparam("avpops", "type_column", "type")
#modparam("avpops", "avp_aliases", "c_uri" )

DIALOG

1
2
3
4
5
6
loadmodule "dialog.so"
modparam("dialog", "enable_stats", 1)
modparam("dialog", "default_timeout", 21600)
modparam("dialog", "db_url", "mysql://opensips:opensips@database/opensips")
modparam("dialog", "db_mode", 1)
modparam("dialog", "dlg_flag", 4)

SIPTRACE

1
2
3
4
loadmodule "siptrace.so"
modparam("siptrace","db_url","mysql://opensips:opensips@database/opensips")
modparam("siptrace", "trace_on", 1)
modparam("siptrace", "trace_flag", 22)

MI_DATAGRAM

1
2
3
loadmodule "mi_datagram.so"
modparam("mi_fifo", "fifo_name", "/tmp/opensips_fifo")
modparam("mi_datagram", "socket_name", "udp:10.10.2.144:8080")

Routing Logic

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
 main request routing logic
 
route{
        sip_trace(); # Recording all sip signal for each calls connect through this server
        xlog("Recive call variable : $avp(s:rcv) $avp(i:3223)\n"); # prints the cli log
 
        if($fU==NULL){
                $avp(i:100)="0";
        }
        else
                $avp(i:100)=$fU;
 
        if (!mf_process_maxfwd_header("10")) {
                sl_send_reply("483","Too Many Hops");
                exit;
        }
 
        if (has_totag()) {
                if (loose_route()) {
                        if(is_method("BYE")){
		        #setting for call accounting
                                setflag(1);
                                setflag(3);
                        }
                        route(1);
                } else {
                        if ( is_method("ACK") ) {
                                if ( t_check_trans() ) {
                                        t_relay();
                                        exit;
                                } else {
                                        exit;
                                }
                        }
                        sl_send_reply("404","Not here");
                }
                exit;
        }
 
        if (is_method("CANCEL"))
        {
                if (t_check_trans())
                        t_relay();
                exit;
        }
 
       t_check_trans();
 
        # record routing
        if (!is_method("REGISTER|MESSAGE")){
                record_route();
        }
 
        # account only INVITEs
        if (is_method("INVITE")) {
	   if(from_uri=~".*@10.10.2.136" || from_uri=~".*@10.10.2.134"){
 
                }
                else{
                        avp_db_query("select id_skillgroup from subscriber u where username='$rU'", "$avp(i:2001)");
                        avp_db_query("select id from ast_skillgroup where id='$avp(i:2001)'", "$avp(i:2002)");
                        avp_db_query("select id, serverip, callerid from ast_servers where id_skillgroup='$avp(i:2002)'
                                      order by calls asc limit 1", "$avp(i:2003);$avp(i:2004);$avp(i:2005)");
                        avp_db_query("Update ast_servers SET calls=calls+1 WHERE id=$avp(i:2003)");
 
                        avp_pushto("$ru/domain","$avp(i:2004)");
 
                        if (!t_relay()) {
                                sl_reply_error();
                        };
                        exit;
                }
        }
 
         if (!uri==myself)
        {
                append_hf("P-hint: outbound\r\n");
                route(1);
        }
 
        if (is_method("PUBLISH"))
        {
                sl_send_reply("503", "Service Unavailable");
                exit;
        }
 
        if (is_method("REGISTER"))
        {
                # authenticate the REGISTER requests (uncomment to enable auth)
                xlog("User credentals : $avp(i:1000)\n");
                if (www_authorize("", "subscriber"))
                {
                        xlog("User credentals : $avp(i:1000)\n");
                        if (!save("location"))
                                sl_reply_error();
 
                        exit;
                }
                else{
                        www_challenge("", "0");
                        exit;
                }
 
                if (!check_to())
                {
                        sl_send_reply("403","Forbidden auth ID");
                        exit;
                }
        }
 
        if ($rU==NULL) {
                sl_send_reply("484","Address Incomplete");
                exit;
        }
 
        if (!lookup("location")) {
                switch ($retcode) {
                        case -1:
                        case -3:
                                t_newtran();
                                t_reply("404", "Not Found");
                                exit;
                        case -2:
                                sl_send_reply("405", "Method Not Allowed");
                                exit;
                }
        }
 
        setflag(2);
        xlog("Script is at the end\n");
        route(1);
   }
 
   route[1] {
        # for INVITEs enable some additional helper routes
        if (is_method("INVITE")) {
                avp_db_query("select uuid from subscriber where username = '$rU'", "$avp(s:callee_uuid)");
                $avp(s:can_uri) = $ru;
                xlog("User credentals : $avp(s:callee_uuid)\n");
                t_on_branch("2");
                t_on_reply("2");
                t_on_failure("1");
        }
 
        if (!t_relay()) {
                sl_reply_error();
        };
        exit;
   }
 
    branch_route[2] {
        xlog("new branch at $ru\n");
        $avp(s:can_uri) = $ru;
        $avp(s:callstate)="CALL REROUTED";
        add_rr_param(";foo=true;user=vivek");
        xlog("Call is forwared to asterisk\n");
   }
 
    onreply_route[2] {
        xlog("incoming reply\n");
   }
 
    failure_route[1] {
        if (t_was_cancelled()) {
                exit;
        }
   }

Above configuration is sampled corresponding to load balanced format where calls are forwarded to different gateway corresponding to our requirements and availability of gateway.

GVenture Technology will provide with vicinity to make yourself convenient and to have carefree talk to tell us about your project and then we can offer you all the bits and pieces essential for it.


Cyclic Replication Between MySQL 5.1 DB

Currently we are doing replication between two servers i.e. VPN3 and VPN4. Our project needed persistent backup of the business critical database on another server as we don't want to loose any data while server goes down. So we have implemented below mentioned steps. We are using MySQL 5.1 version of mysql. Any higher version is also suitable, as performance of replication has been increased in MySQL 5.6 and above. So below mentioned steps are tested successfully on MySQL5.1, however the same steps might work for other version, that you need to sort out.

  • Step 01: Add my.cnf files as mentioned in the /etc/my.cnf (this holds several mysql environment variables and values for smooth performance of the mysql).Run below queries on both the server to create a user which will handle replications between these two servers. mysql > create user 'replicator' identified by 'replicator';
  • Step 02: Once added these files according to server replication architecture you are following.Reboot the services of mysqld to take effect of changes. mysql> Service mysqld restart on all server you want to do replication settings.(Currently we are doing between two servers, but cyclic replication can be done between multiple servers as per project need).
  • Step 03: Create GRANT access for replication user on each server i.e. VPN3 and VPN4 On VPN3 run following command on mysql CLI MYSQL>GRANT REPLICATION SLAVE ON *.* TO 'replicator'@'10.3.140.70' IDENTIFIED BY 'replicator'; MYSQL> FLUSH PRIVILEGES; On VPN4 run following command on mysql CLI MYSQL> GRANT REPLICATION SLAVE ON *.* TO 'replicator'@'10.34.188.148' IDENTIFIED BY 'replicator'; MYSQL> FLUSH PRIVILEGES; You can verify the replication user added on mysql by running following commands. mysql> select user,host from mysql.user; Also verify the permissions status by running below command mysql> select * from mysql.user where user='replicator';
  • Step 04: Run mysql query on VPN4 server MYSQL> SHOW MASTER STATUS; +------------------+----------+--------------+------------------+ | File             | Position | Binlog_Do_DB | Binlog_Ignore_DB | +------------------+----------+--------------+------------------+ | mysql-bin.000002 | 35271224 |              |                  | +------------------+----------+--------------+------------------+ 1 row in set (0.00 sec) and then run below mentioned mysql command on slave i.e. on VPN3 server with above mentioned details of File and Position in it. MYSQL> CHANGE MASTER TO MASTER_HOST='192.168.1.21', MASTER_PORT=3306, MASTER_USER='replicator', MASTER_PASSWORD='replicator', MASTER_LOG_FILE='mysql-bin.000002', MASTER_LOG_POS=35271224;
  • Step 05: Run mysql query on VPN3 server MYSQL> SHOW MASTER STATUS; +------------------+----------+--------------+------------------+ | File             | Position | Binlog_Do_DB | Binlog_Ignore_DB | +------------------+----------+--------------+------------------+ | mysql-bin.000003 | 37416567 |              |                  | +------------------+----------+--------------+------------------+ 1 row in set (0.00 sec) and run this mysql command on slave i.e. on VPN4 server with above mentioned details of File and Position in it. MYSQL> CHANGE MASTER TO MASTER_HOST='192.168.1.21', MASTER_PORT=3306, MASTER_USER='replicator', MASTER_PASSWORD='replicator', MASTER_LOG_FILE='mysql-bin.000003', MASTER_LOG_POS=37416567;
  • Step 06: Run mysql query on VPN4 server MYSQL> START SLAVE; Wait 5 seconds , then on Server VPN4 MYSQL> SHOW SLAVE STATUS\G If Slave_IO_Running=Yes and Slave_SQL_Running=Yes, replication is working on VPN4
  • Step 07: Run mysql query on VPN3 server MYSQL> START SLAVE; Wait 5 seconds,then  on Server VPN3 MYSQL> SHOW SLAVE STATUS\G If Slave_IO_Running=Yes and Slave_SQL_Running=Yes, replication is working.

Now replication is successfully set on both the servers. Changes from one server will automatically copied to another mysql server. Changes always flow from Master Server to Slave Server. As this is asynchronous process so there is slight delay in the copy of data from one server to another server. Generally this process is used for persistent backup of the DB to another server. Since we have created both servers as Master and Slave as well. So any changes on server VPN4 will be reflected back to VPN3 and vice versa.

Tagged:  
MySQL,