Hi,
Two remarks:
1) the path taken by a request will be taken (in the opposite direction)
by all the replies of that request - that is SIP :) . So, if your INVITE
went through the dispatcher, all its replies (180, 200) will go via
dispatcher
2) for sequential requests (ACK, re-INVITEs, BYEs) you can make them
skip the dispatcher by NOT doing record-routing on the dispatcher for
the original INVITE
1') regarding my comment from 1) - you may play with the send() function
- this is a stateless function for sending a request out but without
adding any VIA in the request. So the hop doing send() will be invisible
for the replies also (the replies will bypass this hop as there is no
VIA for it) - but I warn you that this is against RFC3261 and also it
might generate problems at network level (a SIP point expects to have
the same IP:port peer during a transaction)
Regards,
Bogdan
[EMAIL PROTECTED] wrote:
> Was wondering if any of the good people out there would be willing to
> comment on my configuration. The goal here is to simply provide
> inbound load balancing services from my service provider to a farm of
> 10 asterisk servers. I was hoping to get around this without "tm.so",
> but i couldn't figure it out. I am trying to build a system which will
> eventually support 2000 concurrent inbound sessions. Here is what I
> have come up with.
>
> This works in the bubble of my testing/proof of concept world, but I
> am sure I am missing some important aspects.
>
> Thanks for anyones time!
>
>
> ###### Global Parameters #####
> debug=9
> log_stderror=no
> log_facility=LOG_LOCAL0
> fork=yes
> children=8
> disable_tcp=yes
> listen=eth0:5060
> port=5060
>
> ##### Debug Enabled #####
> fork=no
> log_stderror=yes
>
> ##### Module Loading and Param Setting #####
> mpath="/usr/local/lib64/opensips/modules/"
> loadmodule "sl.so"
> loadmodule "db_mysql.so"
> loadmodule "tm.so"
> loadmodule "maxfwd.so"
> loadmodule "rr.so"
>
> ## Enable SipTrace module for debugging SIP transactions ##
> loadmodule "siptrace.so"
> modparam("siptrace","db_url","mysql://[removed]:[EMAIL PROTECTED]/opensips")
> modparam("siptrace","table","sip_trace")
> modparam("siptrace","trace_on",1)
> modparam("siptrace","trace_flag",13)
>
> ## Enable Dispatcher module ##
> loadmodule "dispatcher.so"
> #modparam("dispatcher","ds_ping_method","INFO")
> #modparam("dispatcher","ds_ping_from","sip:[EMAIL PROTECTED]")
> #modparam("dispatcher","ds_ping_interval",10)
> #modparam("dispatcher","ds_probing_mode",1)
>
> ##### Routing Logic #####
> route{
> setflag(13);
> sip_trace();
>
> if(!mf_process_maxfwd_header("10")){
> sl_send_reply("483","Too Many Hops");
> drop();
> }
>
> if(method=="INVITE"){
> ds_select_dst("1","4");
> t_on_failure("1");
> t_relay();
> exit();
> }else{
> t_relay();
> exit();
> }
> }
>
> failure_route[1]{
> if(t_check_status("408")){
> ds_mark_dst();
> }
>
> ds_next_dst();
> t_on_failure("1");
> t_relay();
> }
> ------------------------------------------------------------------------
>
> _______________________________________________
> Users mailing list
> [email protected]
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>
_______________________________________________
Users mailing list
[email protected]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users