[Serusers] 1 SER & 2 Providers

Iqbal iqbal at gigo.co.uk
Tue Aug 30 13:26:42 CEST 2005


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 at ispro.net.tr>
>>     *To:* serusers at lists.iptel.org <mailto:serusers at 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 at lists.iptel.org
>>     http://lists.iptel.org/mailman/listinfo/serusers
>>
>>
>> ------------------------------------------------------------------------
>>
>> _______________________________________________
>> Serusers mailing list
>> serusers at lists.iptel.org
>> http://lists.iptel.org/mailman/listinfo/serusers
>
>
> _______________________________________________
> Serusers mailing list
> serusers at lists.iptel.org
> http://lists.iptel.org/mailman/listinfo/serusers
>
> .
>




More information about the sr-users mailing list