Hi
The providers route the DiD to SER, these then get alised to one/two accounts, and this is then mapped to username setup for each phone...(I think thats the setup)
or are you looking at having sip account with the two providers,
Iqbal
Kevin Brennan wrote:
This will not fix incoming calls to the other provider, ie. this assumes the other service providers PSTN gateway is forwarding to your SER a/c. Asterisk would let you register as a UA with all service providers and receive calls on the same extension. Br /Kev/
Juan Priotti wrote:
Just add the DID's provided as alias of the user:
serctl alias add <DID 1st provider> <customer's uri> serctl alias add <DID 2nd provider> <customer's uri>
and calls made to bith DID's will be routed to the same customer.
----- Original Message ----- *From:* Ozan Blotter <mailto:cosmocid@ispro.net.tr> *To:* serusers@lists.iptel.org <mailto:serusers@lists.iptel.org> *Sent:* Saturday, August 27, 2005 4:04 AM *Subject:* [Serusers] 1 SER & 2 Providers Dear List, Assume that there are two different service providers and
one SER in middle of them. A client needs to use/connect SER but also he/she has accounts in both providers and both supplied him/her DDIs (landline phone). Now again assume that client registers both of phones into SER. But still he/she wants to receive calls from both providers, is it possible to receive calls from different providers to that client and/or how to i setup ? In current SER.CFG below, i only setup one prefix which is "0", but i can change it to any and/or add many prefixes, ex: 0049 (germany), 001 (usa), 0044 (uk), 0090 (turkey) to Provider 1 and 0033 (france), 0038 (italy) to Provider 2 and so on. debug=3 fork=yes log_stderror=no listen=212.XXX.104.XXX # This is SER's Public IP port=5060 children=4 alias=212.XXX.104.XXX # This is SER's Public IP dns=no rev_dns=no fifo="/tmp/openser_fifo" fifo_db_url="mysql://openser:openserrw@localhost/openser" loadmodule "/usr/local/lib/openser/modules/mysql.so" loadmodule "/usr/local/lib/openser/modules/sl.so" loadmodule "/usr/local/lib/openser/modules/tm.so" loadmodule "/usr/local/lib/openser/modules/rr.so" loadmodule "/usr/local/lib/openser/modules/maxfwd.so" loadmodule "/usr/local/lib/openser/modules/usrloc.so" loadmodule "/usr/local/lib/openser/modules/registrar.so" loadmodule "/usr/local/lib/openser/modules/auth.so" loadmodule "/usr/local/lib/openser/modules/auth_db.so" loadmodule "/usr/local/lib/openser/modules/uri.so" loadmodule "/usr/local/lib/openser/modules/uri_db.so" loadmodule "/usr/local/lib/openser/modules/mediaproxy.so" loadmodule "/usr/local/lib/openser/modules/nathelper.so" loadmodule "/usr/local/lib/openser/modules/textops.so" loadmodule "/usr/local/lib/openser/modules/domain.so" loadmodule "/usr/local/lib/openser/modules/acc.so" modparam("auth_db", "calculate_ha1", 1) modparam("auth_db", "password_column", "password") modparam("auth_db", "use_domain", 1) modparam("domain", "db_mode", 1) modparam("nathelper", "rtpproxy_disable", 1) modparam("nathelper", "natping_interval", 180) modparam("mediaproxy","natping_interval", 30) modparam("mediaproxy","mediaproxy_socket", "/var/run/mediaproxy.sock")
modparam("mediaproxy","sip_asymmetrics","/usr/local/etc/openser/sip-asymmetric-clients")
modparam("mediaproxy","rtp_asymmetrics","/usr/local/etc/openser/rtp-asymmetric-clients")
modparam("usrloc", "db_mode", 2) modparam("usrloc", "use_domain", 1) modparam("registrar", "default_expires", 60) modparam("registrar", "min_expires", 30) modparam("registrar", "nat_flag", 6) modparam("registrar", "use_domain", 1) modparam("rr", "enable_full_lr", 1) modparam("acc", "db_url",
"mysql://openser:openserrw@localhost/openser") modparam("acc", "failed_transactions", 1) modparam("acc", "log_level", 1) modparam("acc", "log_flag", 1) modparam("acc", "db_flag", 1) route { # ----------------------------------------------------------------- # Sanity Check Section # ----------------------------------------------------------------- if (!mf_process_maxfwd_header("10")) { sl_send_reply("483", "Too Many Hops"); break; }; if (msg:len > max_len) { sl_send_reply("513", "Message Overflow"); break; }; # ----------------------------------------------------------------- # Record Route Section and Acc section # ----------------------------------------------------------------- if (method=="INVITE" && client_nat_test("3")) {
record_route_preset("212.XXX.104.XXX:5060;nat=yes"); # This is SER's Public IP } else if (method!="REGISTER") { if!(uri=~"^sip:833[0-9]*@") { # I do not want to make accounting if clients' prefix is beginning with 833 record_route(); setflag(1); } }; # ----------------------------------------------------------------- # Call Tear Down Section # ----------------------------------------------------------------- if (method=="BYE" || method=="CANCEL") { end_media_session(); }; # ----------------------------------------------------------------- # Loose Route Section # ----------------------------------------------------------------- if (loose_route()) { if (has_totag() && (method=="INVITE" || method=="ACK")) { if (client_nat_test("3") || search("^Route:.*;nat=yes")) { setflag(6); use_media_proxy(); }; }; route(1); break; }; # ----------------------------------------------------------------- # Call Type Processing Section # ----------------------------------------------------------------- if (uri!=myself) { route(1); break; }; if (uri==myself) { if (method=="CANCEL") { route(3); break; } else if (method=="INVITE") { route(3); break; } else if (method=="REGISTER") { route(2); break; }; lookup("aliases"); if (uri!=myself) { route(1); break; }; if (!lookup("location")) { sl_send_reply("404", "User Not Found"); break; }; }; route(1); } route[1] { # ----------------------------------------------------------------- # Default Message Handler # ----------------------------------------------------------------- t_on_reply("1"); if (!t_relay()) { if (method=="INVITE" || method=="ACK") { end_media_session(); }; sl_reply_error(); }; } route[2] { # ----------------------------------------------------------------- # REGISTER Message Handler # ---------------------------------------------------------------- if (!search("^Contact:\ +*") && client_nat_test("7")) { setflag(6); fix_nated_register(); force_rport(); }; sl_send_reply("100", "Trying"); if (!www_authorize("","subscriber")) { www_challenge("","0"); break; }; if (!check_to()) { sl_send_reply("401", "Unauthorized"); break; }; consume_credentials(); if (!save("location")) { sl_reply_error(); }; } route[3] { # ----------------------------------------------------------------- # CANCEL and INVITE Message Handler # ----------------------------------------------------------------- if (client_nat_test("3")) { setflag(7); force_rport(); fix_nated_contact(); }; lookup("aliases"); if (uri!=myself) { route(1); break; }; if (uri=~"^sip:0[0-9]*@*") { # If calling number is beginning with prefix 0, route it to PSTN rewritehost("195.XXX.122.XXX"); # This is PSTN Gateway's Public IP route(1); break; }; if (!lookup("location")) { sl_send_reply("404", "User Not Found"); break; }; if (method=="CANCEL") { route(1); break; }; if (!proxy_authorize("","subscriber")) { proxy_challenge("","0"); break; } else if (!check_from()) { sl_send_reply("403", "Use From=ID"); break; }; consume_credentials(); if (isflagset(6) || isflagset(7)) { use_media_proxy(); }; route(1); } onreply_route[1] { if ((isflagset(6) || isflagset(7)) && (status=~"(180)|(183)|2[0-9][0-9]")) { if (!search("^Content-Length:\ +0")) { use_media_proxy(); }; }; if (client_nat_test("1")) { fix_nated_contact(); }; }
_______________________________________________ Serusers mailing list serusers@lists.iptel.org http://lists.iptel.org/mailman/listinfo/serusers
Serusers mailing list serusers@lists.iptel.org http://lists.iptel.org/mailman/listinfo/serusers
Serusers mailing list serusers@lists.iptel.org http://lists.iptel.org/mailman/listinfo/serusers
.