Hi Muhammad,Thanks for your detail mailI want use Asterisk features( call Bargin, Transfer,etc ),I am using multiple Asterisk ,so one call comes Asterisk A box and I can able to barge asterisk box b it possible only if i have already sent asterisk instances all two boxes ( Phone - Kamailio - Asterisk boxes )As you mentioned calls are bouncing two Asterisk ,i can able understand with your clarity mailCan you please advice in detail configuration for below1,correcting DISPATCHER and FROMASTERISK routes2 Use asterisk instances as services bridge which are load balanced by kamailio through dispatcherWith Regards
N.PrakashOn Wed, Mar 6, 2013 at 8:38 AM, Muhammad Shahzad <shaheryarkh@gmail.com> wrote:
Sorry for delay, i was too busy with my work lately. Anyhow, I really doubt the software architecture you mentioned would scale or even work in the first place. Here is why,1. You are registering same user <number-of-asterisk-instance> + 1 times, so if you have two asterisk behind kamailio then a single user registers on both asterisks as well as kamailio server. This is NOT load balancing but wastage of resources instead. Asterisk's capacity as SIP registrar is much much lower then kamailio, so whole system's capacity actually reduces down to asterisk capacity instead of increasing above kamailio.2. You are using stateless forwarding, which completely disables any possibility of fail-over. Not only that, it will cause your calls kind bounce around between asterisk instances. How? its simple, user A wants to call user B, call comes to kamailio, which picks one asterisk instance through dispatcher and route calls to asterisk. When call comes to asterisk, it sees that user B is registered on kamailio, so it tries to forward call to kamailio. When call comes to kamailio, kamailio again picks next asterisk (due to round robin rule you are using) and send call to that asterisk, which again does the same thing as first asterisk, so call bounces between kamailio and all asterisk instance one by one till dispatcher list exhausts and eventually call is dropped. You may try to stop this by correcting DISPATCHER and FROMASTERISK routes but i guess call will still loop at least once.The solution is simple, forget asterisk realtime integration, use kamailio as registrar and proxy. Use asterisk instances as services bridge which are load balanced by kamailio through dispatcher.Hope this helps.Thank you.On Tue, Mar 5, 2013 at 4:39 PM, Prakash N <prakash.n@tevatel.com> wrote:
Hi,I am facing some challenge with dispatcher configuration with two AsteriskI have installed Kamailio and two Asterisk server and Phones are register with Asterisk through KamailioI have followed this link http://lists.sip-router.org/pipermail/sr-users/2011-April/068175.htmlNow i have added dispatcher module and dispatcher list alsoI am try to route all calls to Asterisk with load balanceCan please advice the step by step configuration to route calls from Kamailio to two Asterisk ( one call first Asterisk and Second call to other asterisk )With RegardsN.Prakash
On Mon, Mar 4, 2013 at 10:03 AM, Prakash N <prakash.n@tevatel.com> wrote:Hi Muhammad,We are following below document for Kamailio and Asterisk integrationWe are plan use one Kamailio with Multiple asterisk (Queue,IVR and Conference purpose)Now calls are landing to asterisk with load balancing using dispatcher for Queue and IVR (One asterisk first and next Asterisk for second calls )But if try to calls extension it is landing both Asterisk server instead landing one asterisk first and next Asterisk for second callsPlease adviceWith RegardsN.PrakashOn Sat, Mar 2, 2013 at 7:07 PM, Muhammad Shahzad <shaheryarkh@gmail.com> wrote:
I am not sure what you are trying to do. Your description is too brief to understand. Can you send me complete call flow?Thank you.On Sat, Mar 2, 2013 at 2:18 PM, Prakash N <prakash.n@tevatel.com> wrote:
Hi Muhammad,Thanks for your mailActually we are trying to do load balance with one Kamailio with multiple Asterisk serverNow if call Queue,IVR to Kamailio it routing to asterisk with ramdam strategy load balance ( first call on one and second to other server )If i call extension to extension it is landing to all Asterisk ( I have use all Asterisk feature for that i want to route all call to asterisk ) on the same time ,How to do load balance for extension calling alsoWe are not sure what we are tiring doi is right or wrongPlease advice and correct us if anything wrongWith RegardsN.PrakashOn Sat, Mar 2, 2013 at 6:30 PM, Muhammad Shahzad <shaheryarkh@gmail.com> wrote:
Why are you forwarding instead of relaying the message to selected destination? Forward is stateless and therefore likely to have NAT issues, specially if destination server is behind NAT or client is behind NAT and destination server is unable to handle NAT etc. etc.Also typically dispatcher is used to load balance calls between two or more upstream server, not for load balancing extensions within one server, though with some tweaking that might also be achieved but better to do this kind of thing on destination server rather then on kamailio.Thank you.--On Sat, Mar 2, 2013 at 10:31 AM, Prakash N <prakash.n@tevatel.com> wrote:
Hi,Can you please advice for the below issueWith RegardsN.PrakashOn Fri, Mar 1, 2013 at 9:32 AM, Prakash N <prakash.n@tevatel.com> wrote:
Hi All,We have finished the Kamailio & Asterisk real time integration and load balancing also done using dispatcher module.Queue and voice mails are load balancing as well.When we are calling extension to extension it is showing in all the servers.It seems extension are not load balancing as per our knowledge.I have attached the kamailio.cfg for your reference,Find my coding below as mentioned.# -- dispatcher params for DB support --modparam("dispatcher","db_url", "mysql://openser:openserrw@192.168.1.170/openser")modparam("dispatcher", "table_name", "dispatcher")modparam("dispatcher", "setid_col", "setid")modparam("dispatcher", "destination_col", "destination")modparam("dispatcher", "flags_col", "flags")modparam("dispatcher", "priority_col", "priority")-----------------------------------------------------------------------------------------# Dispatch requestsroute[DISPATCH] {if ( method=="INVITE" ) {# dst_select( "GROUP", "HASH METHOD")ds_select_dst("1","4");sl_send_reply("100","Trying");forward();#uri:host, uri:port);exit();}}Kindly suggest the solution for the same.Thanks in advance.Regards,N.Prakash
Muhammad Shahzad
-----------------------------------
CISCO Rich Media Communication Specialist (CRMCS)
CISCO Certified Network Associate (CCNA)
Cell: +49 176 99 83 10 85
MSN: shari_786pk@hotmail.com
Email: shaheryarkh@googlemail.com--
Muhammad Shahzad
-----------------------------------
CISCO Rich Media Communication Specialist (CRMCS)
CISCO Certified Network Associate (CCNA)
Cell: +49 176 99 83 10 85
MSN: shari_786pk@hotmail.com
Email: shaheryarkh@googlemail.com
--
Muhammad Shahzad
-----------------------------------
CISCO Rich Media Communication Specialist (CRMCS)
CISCO Certified Network Associate (CCNA)
Cell: +49 176 99 83 10 85
MSN: shari_786pk@hotmail.com
Email: shaheryarkh@googlemail.com