I have SER setup on 10.9.8.7 which is on the internet. I have a Cisco
ATA at home beind a linksys router. The ATA has an non-routeable ip
of 192.168.1.107, while the public IP of my linksys router is 1.2.3.4
I can not get the cisco ATA to register, and i dont know why. I have
posted results on Ngrep, also some debugging info from SER and my
acutal ser.cfg In the setup for the ATA I gave it the proxy as an IP
address (10.9.8.7), there is no place in the cisco config (that I can
find) to specify a domain/realm. And the DNS server that my linksys
router has doesnt have a route to sip1.jmusa.com Is that the problem,
if so whats the best way around it?
Results of ngrep:
U 1.2.3.4:5060 -> 10.9.8.7:5060
REGISTER sip:10.9.8.7SIP/2.0..Via: SIP/2.0/UDP
192.168.1.107:5060;branch=z9hG4bKfac02618b73b6b6
a..From: Aaron <sip:8306@10.9.8.7;user=phone>;tag=3424024559..To:
Aaron <sip:8306@10.9.8.7;
user=phone>..Call-ID: 2834281883@192.168.1.107..CSeq: 3
REGISTER..Contact: Aaron <sip:8306@192.168.1.
107:5060;user=phone;transport=udp>;expires=3600..User-Agent: Cisco
ATA 188 v3.2.0 atasip (041111A)..
Authorization: Digest
username="8306",realm="sip1.jmusa.com",nonce="427023d34e56189a2adcddfb16228dde9
f51f0eb",uri="sip:10.9.8.7",response="7b9e7ec34e8d4f8157fb66e140f95cbe"..Content-Length:
0....
#
U 10.9.8.7:5060 -> 1.2.3.4:5060
SIP/2.0 100 Trying..Via: SIP/2.0/UDP
192.168.1.107:5060;branch=z9hG4bKfac02618b73b6b6a;received=69.14
2.66.52..From: Aaron
<sip:8306@10.9.8.7;user=phone>;tag=3424024559..To: Aaron
<sip:8306@65.199.1
91.83;user=phone>..Call-ID: 2834281883@192.168.1.107..CSeq: 3
REGISTER..Server: Sip EXpress router (0
.9.0 (i386/linux))..Content-Length: 0..Warning: 392 10.9.8.7:5060
"Noisy feedback tells: pid=91
53 req_src_ip=1.2.3.4 req_src_port=5060
in_uri=sip:10.9.8.7out_uri=sip:10.9.8.7via_c
nt==1"....
#
U 10.9.8.7:5060 -> 1.2.3.4:5060
SIP/2.0 401 Unauthorized..Via: SIP/2.0/UDP
192.168.1.107:5060;branch=z9hG4bKfac02618b73b6b6a;rport=50
60;received=1.2.3.4..From: Aaron
<sip:8306@10.9.8.7;user=phone>;tag=3424024559..To: Aaron <
sip:8306@10.9.8.7;user=phone>;tag=b27e1a1d33761e85846fc98f5f3a7e58.a0aa..Call-ID:
2834281883@192
.168.1.107..CSeq: 3 REGISTER..WWW-Authenticate: Digest
realm="jmusa.com", nonce="427147ef446cc27cc8b6
502323243e02f9b5dfb6"..Server: Sip EXpress router (0.9.0
(i386/linux))..Content-Length: 0..Warning: 3
92 10.9.8.7:5060 "Noisy feedback tells: pid=9153 req_src_ip=1.2.3.4
req_src_port=5060 in_u
ri=sip:10.9.8.7out_uri=sip:10.9.8.7via_cnt==1"....
My messages:
Apr 28 16:26:33 sip1 /sbin/ser[9148]: CLIENT NAT TEST 7 IS TRUE: From
sip:8306@10.9.8.7;user=phone, To sip:8306@10.9.8.7;user=phone, Call
ID: 2834281883(a)192.168.1.107, MESASGE ID 2
Apr 28 16:26:33 sip1 /sbin/ser[9148]: BEGIN WWW AUTH: From
sip:8306@10.9.8.7;user=phone, To sip:8306@10.9.8.7;user=phone, Call
ID: 2834281883(a)192.168.1.107, MESASGE ID 2
Apr 28 16:26:33 sip1 /sbin/ser[9148]: WWW AUTHFAIL PRE CHALLEGE: From
sip:8306@10.9.8.7;user=phone, To sip:8306@10.9.8.7;user=phone, Call
ID: 2834281883(a)192.168.1.107, MESASGE ID 2
---Then nothing else......
My ser.cfg (snipped)
----snip----
if (method=="INVITE") {
route(3);
break;
} else if (method=="REGISTER") {
route(2);
break;
----snip----
route[2] {
# -----------------------------------------------------------------
# REGISTER Message Handler
# ----------------------------------------------------------------
sl_send_reply("100", "Trying");
if (!search("^Contact: \*") && client_nat_test("7")) {
xlog("L_ERR","CLIENT NAT TEST 7 IS TRUE: From %fu, To %tu, Call ID:
%ci, MESASGE ID %mi");
setflag(6);
fix_nated_register();
force_rport();
};
xlog("L_ERR","BEGIN WWW AUTH: From %fu, To %tu, Call ID: %ci, MESASGE ID %mi");
if (!www_authorize("sip1.jmusa.com","subscriber")) {
xlog("L_ERR"," WWW AUTHFAIL PRE CHALLEGE: From %fu, To %tu, Call ID:
%ci, MESASGE ID %mi");
www_challenge("sip1.jmusa.com","0");
xlog("L_ERR"," WWW AUTHFAIL POST CHALLEGE From %fu, To %tu, Call ID:
%ci, MESASGE ID %mi");
break;
};
if (!check_to()) {
sl_send_reply("401", "Unauthorized");
break;
};
consume_credentials();
if (!save("location")) {
sl_reply_error();
};
}
Hi guys,
I have 2 SER Servers talking to each other, working in a Private network using 192.168.4.0/16 authenticating at a mysql server (everything is for test, so the configuration is very basic). Everything works perfect, I have 4 users registered in each server, and everybody is talking to each other with no problem.
My next step was to test my architecture with public IPs, so I've changed my ser.cfg to reflect my ip changes, and also configured 4 clientes (2 at each server) with public IPs, but my clients now, can't register, none of them in any server. I can see at the logs that the REGISTER Request reaches my server but the clients can't register. I also tried to use some other private network at some clients but they can't register either. So, any network could be used to make it work, but 192.168.4.0/16.
I know it's probably a configuration error I've made, but I can't find where the error is. I'm sending my ser.cfg for you to see. Any hand will be pleased.
Best Regards
# -------------- SER.CFG ------------------------
#
# $Id: ser.cfg,v 1.21.4.1 2003/11/10 15:35:15 andrei Exp $
#
# simple quick-start config script
#
# ----------- global configuration parameters ------------------------
# Uncomment these lines to enter debugging mode
debug=9
fork=yes
log_stderror=no
#listen=200.142.96.218
listen=192.168.4.10
port=5060
alias="mundivox.com"
alias="sipserver.com"
#alias="200.201.187.254"
alias="192.168.4.10"
# sip_warning - Should replies include extensive warnings? By default
# yes, it is good for trouble-shooting
#sip_warnings=yes
# server_signature - Should locally-generated messages include server's
# signature? By default yes, it is good for trouble-shooting.
server_signature=yes
# reply_to_via - A hint reply modules whether they should send reply
# to IP advertised in Via. Turned off by default, which means that
# replies are sent to IP address from which requests came.
# reply_to_via=no
# mhomed -- enable calculation of outbound interface; useful on
# multihomed servers.
# mhomed=0
check_via=yes # (cmd. line: -v)
dns=yes # (cmd. line: -r)
rev_dns=yes # (cmd. line: -R)
children=4
fifo_mode=0666
fifo="/tmp/ser_fifo"
# ------------------ module loading ----------------------------------
# ------------- external module loading
loadmodule "/usr/local/lib/ser/modules/mysql.so"
loadmodule "/usr/local/lib/ser/modules/sl.so"
loadmodule "/usr/local/lib/ser/modules/tm.so"
loadmodule "/usr/local/lib/ser/modules/rr.so"
loadmodule "/usr/local/lib/ser/modules/maxfwd.so"
loadmodule "/usr/local/lib/ser/modules/usrloc.so"
loadmodule "/usr/local/lib/ser/modules/registrar.so"
loadmodule "/usr/local/lib/ser/modules/auth.so"
loadmodule "/usr/local/lib/ser/modules/auth_db.so"
loadmodule "/usr/local/lib/ser/modules/acc.so"
loadmodule "/usr/local/lib/ser/modules/exec.so"
loadmodule "/usr/local/lib/ser/modules/group.so"
loadmodule "/usr/local/lib/ser/modules/msilo.so"
#loadmodule "/usr/local/lib/ser/modules/print.so"
loadmodule "/usr/local/lib/ser/modules/enum.so"
loadmodule "/usr/local/lib/ser/modules/textops.so"
#loadmodule "/usr/local/lib/ser/modules/nathelper.so"
loadmodule "/usr/local/lib/ser/modules/uri.so"
#loadmodule "/usr/local/lib/ser/modules/uri_db.so"
loadmodule "/usr/local/lib/ser/modules/domain.so"
loadmodule "/usr/local/lib/ser/modules/xlog.so"
#loadmodule "/usr/local/lib/ser/modules/speeddial.so"
#loadmodule "/usr/local/lib/ser/modules/options.so"
#loadmodule "/usr/local/lib/ser/modules/rtpproxy.so"
# ----------------- setting module-specific parameters ---------------
# ------------- db_url setting
#modparam("acc|auth_db|domain|group|speeddial|uri_db|usrloc",
# "db_url", "mysql://ser:heslo@localhost/ser")
modparam("auth_db", "db_url", "mysql://ser:heslo@localhost/ser")
# ------------- use_domain setting
modparam("auth_db|group|speeddial|uri_db|usrloc", "use_domain", 1)
# ------------- accounting parameters
modparam("acc", "log_level", 1)
modparam("acc", "log_flag", 1)
#modparam("acc", "db_flag", 1)
#modparam("acc", "db_missed_flag", 1)
#modparam("acc", "log_fmt", "cdfimorstup")
#modparam("acc", "failed_transactions", 1)
#modparam("acc", "report_cancels", 1)
#modparam("acc", "report_ack", 0)
# ------------- auth parameters
# allows clear text passwords in the mysql database
modparam("auth_db", "calculate_ha1", yes)
modparam("auth_db", "password_column", "password")
# ------------- domain parameters
modparam("domain", "db_mode", 1)
# ------------- exec parameters
modparam("exec", "setvars", 1)
modparam("exec", "time_to_kill", 10)
# ------------- registration parameters
modparam("registrar", "nat_flag", 2)
modparam("registrar", "min_expires", 60)
modparam("registrar", "max_expires", 86400)
modparam("registrar", "default_expires", 3600)
modparam("registrar", "desc_time_order", 1)
modparam("registrar", "append_branches", 1)
modparam("registrar", "use_domain", 1)
#-------------- nathelper parameters
#modparam("nathelper", "natping_interval", 30)
#modparam("nathelper", "ping_nated_only", 1)
# ------------- rr parameters
# set ";lr" tag to lr=true
modparam("rr", "enable_full_lr", 1)
# ------------- tm parameters
modparam("tm", "fr_timer", 20)
modparam("tm", "fr_inv_timer", 40)
modparam("tm", "wt_timer", 5)
# ------------- usrloc parameters
# 0 = disable
# 1 = write-through
# 2 = write-back
modparam("usrloc", "db_mode", 2)
modparam("usrloc", "timer_interval", 60)
modparam("usrloc", "desc_time_order", 1)
# ------------- logging parameters
modparam("xlog", "buf_size", 8192)
# Checking for Username Column
#modparam("auth_db", "user_column", "username")
# Checking for Domain Column
#modparam("auth_db", "domain_column", "domain")
# ------------- logging parameters
modparam("xlog", "buf_size", 8192)
# ------------------------- request routing logic -------------------
# main routing logic
route {
# ----------------------------------------------------------------------------
# Sanity Checks -- messages with max_forwards==0, or excessively long requests
#-----------------------------------------------------------------------------
if (!mf_process_maxfwd_header("10")) {
sl_send_reply("483","Too Many Hops");
break;
};
if ( msg:len > max_len ) {
sl_send_reply("513", "Message too big");
break;
};
# ------------------------------------------------------------------------
# NOTIFY Keep-Alive Section
# ------------------------------------------------------------------------
if ((method=="NOTIFY") && search("^Event: keep-alive")) {
sl_send_reply("200", "OK");
break;
};
if ((method=="NOTIFY") && (uri=~"^sip:700@")) {
sl_send_reply("200", "OK");
break;
};
# ------------------------------------------------------------
# OPTIONS Section
#
# This is used by sipsak to monitor the heath of our sip proxy
#-------------------------------------------------------------
# if (search("^From: sip:sipsak@") &&
# (method=="OPTIONS") && (!uri=~"sip:.*[@]+.*")) {
# options_reply();
# break;
# };
# ------------------------------------------------------------
# Registration Section
# ------------------------------------------------------------
# if (method=="REGISTER") {
#
# if (!is_from_local()) {
#
# sl_send_reply("403", "Unknown Domain");
# break;
# };
#
# if (is_user_in("Request-URI", "disabled")) {
#
# sl_send_reply("403", "Your evaluation period has expired");
# break;
# };
#
# if (!www_authorize("", "subscriber")) {
#
# www_challenge("", "0");
# break;
# };
#
# if (!check_to()) {
#
# sl_send_reply("401", "Unauthorized");
# break;
# };
#
# if (!save("location")) {
#
# sl_reply_error();
# };
#
# break;
#
# };
# -----------------------------------------------------------------
# Open Relay Section
# -----------------------------------------------------------------
# if (method=="INVITE") {
#
# if (!(is_from_local() || is_uri_host_local())) {
# sl_send_reply("403", "Please register to use our service");
# break;
# };
# };
# -----------------------------------------------------------------
# Accounting Section
# -----------------------------------------------------------------
# if (method=="INVITE" || method=="BYE") {
# setflag(1);
# };
# -----------------------------------------------------------------
# Record Route Section
#
# we record-route all messages -- to make sure that subsequent messages
# will go through our proxy; that's particularly good if upstream and
# donwstream entities use different transport protocol
# -----------------------------------------------------------------
if (!method=="REGISTER") {
record_route();
};
if (method=="INVITE") record_route();
log(1, "INVITE message received\n");
# -----------------------------------------------------------------
# Loose Route Section
#
# Grant route routing if route headers present
# -----------------------------------------------------------------
if (loose_route()) {
route(2);
break;
};
# -----------------------------------------------------------------
# Alias Routing Section
# -----------------------------------------------------------------
lookup("aliases");
if (!uri==myself) {
route(2);
break;
};
# ------------------------------------------------------------------------
# Anonymous Call Rejection Section
# ------------------------------------------------------------------------
if (isflagset(24) && (method=="INVITE") && search("^(f|F)rom:.*(a|A)nonymous")) {
route(8);
break;
};
# ------------------------------------------------------------------------
# Call Block Section
# ------------------------------------------------------------------------
# if (is_caller_blocked()) {
# route(7);
# break;
# };
# ------------------------------------------------------------------------
# Do Not Disturb Section
# ------------------------------------------------------------------------
# if (avp_db_load("$ruri/username", "s:donotdisturb")) {
# if (avp_check("s:donotdisturb", "eq/y/i")) {
# route(5);
# break;
# };
# };
# we record-route all messages -- to make sure that
# subsequent messages will go through our proxy; that's
# particularly good if upstream and downstream entities
# use different transport protocol
#record_route();
# loose-route processing
if (loose_route()) {
t_relay();
break;
};
# Rota usada para guardar Logs no CDRTool - Billing
# if (method=="REGISTER" || method=="INVITE" || method=="BYE" || method=="CANCEL") {
# # Salvar mensagens no myslq para o CDRTool
# exec_msg("/var/www/html/serweb/sertrace.py; exit 1");
# };
# if the request is for other domain use UsrLoc
# (in case, it does not work, use the following command
# with proper names and addresses in it)
# uri==myself retorna true se o nome de dominio URI for igual ao nome do
# host ao qual SER esta rodando. Para configurar quais domain names o ser
# aceita, deve-se configurar os ALIASES do sistema para tais nomes.
if (uri==myself) {
if (method=="REGISTER") {
log(1, "REGISTER message received\n");
# Uncomment this if you want to use digest authentication
if (!www_authorize("192.168.4.10", "subscriber")) {
www_challenge("192.168.4.10", "0");
break;
};
save("location");
break;
};
# Repassando Chamadas Internacionais para Asterisk
if (uri=~"^sip:[2][0-9].*@") {
log(1, "Forwarding to Another Gateway - SIPProxy2 to SIPProxy1\n");
setflag(1); # MARK FOR ACCOUNTING
rewritehost("192.168.4.11");
forward(192.168.4.11,5060);
t_relay();
break;
}
# ----------------------------------------------------------------
# Call Routing Section
# ----------------------------------------------------------------
if (!lookup("location")) {
sl_send_reply("404", "User Not Found");
break;
};
};
# forward to current uri now; use stateful forwarding; that
# works reliably even if we forward from TCP to UDP
if (!t_relay()) {
sl_reply_error();
};
}
# ------------------ EOF -------------------------
--
Felipe Martins
Mundivox Communications
Tecnologia e Projetos
fmartins(a)mundivox.com
Tel.: +55 +21 +3820 8839
Cel.: +55 +21 +9823 8602
Fax.: +55 +21 +3820 8844
www.mundivox.com
Thanks for ur answer,
Well, the problem is, that in "location" always appears "@200.52.29.189" (IP changed ;-)... which isn't the local IP-Address... so it doesn't work.
Sebastian
Iqbal <iqbal(a)gigo.co.uk> schrieb am 28.04.05 20:09:01:
>
> sip orxy settings, should be your sip server, then call will go through
> there, it will use the location entries to see what other sip phone has
> been connected and then send to that IP address
>
> Iqbal
>
> Sebastian Kühner wrote:
>
> >Hello,
> >
> >I'm new here... and I have question very simple (I hope).
> >
> >I have a local network. Ser is running on 192.168.1.223 and I have two Softphones connectes with ser (192.168.1.100 and 192.168.1.51). There is no problem to call the Softphones like <user1>@192.168.1.100 or <user2>@192.168.1.51 ... using their IP-Addresses.
> >
> >But I want to call the users like this: <user1>@192.168.1.223 or <user2>@192.168.1.223 ... using the IP-Address of the Sip Express Router.
> >
> >What do I have to put to my ser.cfg file????
> >
> >Thanks!!!
> >
> >Sebastian
> >______________________________________________________________
> >Verschicken Sie romantische, coole und witzige Bilder per SMS!
> >Jetzt bei WEB.DE FreeMail: http://f.web.de/?mc=021193
> >
> >_______________________________________________
> >Serusers mailing list
> >serusers(a)lists.iptel.org
> >http://lists.iptel.org/mailman/listinfo/serusers
> >
> >.
> >
> >
> >
_______________________________________________________________
Fruhlings-Aktion: Gratis DSL-Modems zur freien Auswahl
Nur bis 30. April bei WEB.DE DSL! https://dsl.web.de/?mc=021193
Hello,
I'm new here... and I have question very simple (I hope).
I have a local network. Ser is running on 192.168.1.223 and I have two Softphones connectes with ser (192.168.1.100 and 192.168.1.51). There is no problem to call the Softphones like <user1>@192.168.1.100 or <user2>@192.168.1.51 ... using their IP-Addresses.
But I want to call the users like this: <user1>@192.168.1.223 or <user2>@192.168.1.223 ... using the IP-Address of the Sip Express Router.
What do I have to put to my ser.cfg file????
Thanks!!!
Sebastian
______________________________________________________________
Verschicken Sie romantische, coole und witzige Bilder per SMS!
Jetzt bei WEB.DE FreeMail: http://f.web.de/?mc=021193
Hi there,
You know I've got good results with Vovida's b2bua, because I'm trying
to use the session-timeout attribute for prepaid users. It works nicely.
Nicely if the User has NO PASSWORD ASSIGNED ...
This is the configuration:
UA <----> B2BUA <---> SER
|
|
RADIUS
AT Register Time, there are no problems. b2bua sends the REGISTER
message ( with digest-attrbiutes ) to radius, and the UA gets
registered, with no problems ( with or without password it works fine ).
When an INVITE is sent ... b2bua sends Authorization to RADIUS ... but
as User-Password value, it sends a dot ( yes!!! a DOT "." ) ... look
rad_recv: Access-Request packet from host 192.168.1.253:1024, id=1,
length=82
User-Name = "1992001"
User-Password = "."
NAS-IP-Address = 192.168.1.253
NAS-Port = 1000
Called-Station-Id = "543515684478"
Calling-Station-Id = "1992001"
Processing the authorize section of radiusd.conf
modcall: entering group authorize for request 228
modcall[authorize]: module "preprocess" returns ok for request 228
modcall[authorize]: module "attr_filter" returns noop for request 228
modcall[authorize]: module "chap" returns noop for request 228
modcall[authorize]: module "digest" returns noop for request 228
rlm_realm: No '@' in User-Name = "1992001", looking up realm NULL
rlm_realm: No such realm "NULL"
modcall[authorize]: module "suffix" returns noop for request 228
radius_xlat: '1992001'
rlm_sql (sql): sql_set_user escaped user --> '1992001'
radius_xlat: 'rad_authorize_check_query '1992001''
rlm_sql (sql): Reserving sql socket id: 1
radius_xlat: ''
radius_xlat: 'rad_authorize_reply_query '1992001','543515684478''
radius_xlat: ''
rlm_sql (sql): No matching entry in the database for request from user
[1992001]
rlm_sql (sql): Released sql socket id: 1
modcall[authorize]: module "sql" returns notfound for request 228
modcall: group authorize returns ok for request 228
Entro a rad_check_password
auth: No authenticate method (Auth-Type) configuration found for the
request: Rejecting the user
auth: Failed to validate the user.
.... obviously, the user will never authenticate.
I know this is not the place for asking this, but vovidas mailing list
is not working and I thought that someone my have been thru this problem
already.
Any help would be really appreciated.... if not, any help with other
b2bua would be very helpful too.
Regards,
Lucas
--
No virus found in this outgoing message.
Checked by AVG Anti-Virus.
Version: 7.0.308 / Virus Database: 266.10.4 - Release Date: 27/04/2005
What I see happen is a 404 comes back (in the reply route) and then is identified as a failure. At that point I revert to the original address, set a flag and relay. The relay cause the route logic to run so I check for the flag so not to send to the application server but the flag is never set. I
tried sending a trying before sending to the application server but it doesn't change the behaviour.
> -----Original Message-----
> From: Iqbal [mailto:iqbal@gigo.co.uk]
> Sent: Thursday, April 28, 2005 9:28 AM
> To: Greg Martin
> Cc: serusers(a)lists.iptel.org
> Subject: Re: [Serusers] handling failure after directing to
> application server
>
> Hi
>
> I re-read my reply, and didnt follow it either :-)
>
> From what I understand , if there is a loose_route then it
> goes to route[1], and then in route[1] call is relayed, and
> when there is a reply goto on_reply route, and you should see
>
> xlog("L_NOTICE", "Reply status %rs: Reason %rr\n"); }
>
> After this Log is displayed, where are you going back to. If
> you get a reply, then you will not goto into failure route
> and get your flag set, and the failure, shouldnt that be
> after the relay. Even I'm getting confused now :-).
>
> In fact I have a question , is a failure, also considered a
> reply, which means that t_on_failure should come before
> t_on_reply....I am not sure about this so will post a
> separate question
>
> iqbal
>
>
>
> Greg Martin wrote:
>
> >
> >I don't understand your reply. At the bottom of the config
> there is a onreply_route and a failure_route and the logging
> statements in each do get written out. What I don't see is
> isflagset(1) return true.
> >
> >
> >
> >>-----Original Message-----
> >>From: Iqbal [mailto:iqbal@gigo.co.uk]
> >>Sent: Wednesday, April 27, 2005 4:51 PM
> >>To: Greg Martin; serusers(a)lists.iptel.org
> >>Subject: Re: [Serusers] handling failure after directing to
> >>application server
> >>
> >>
> >>on failure and reply you are telling it where to go, but that route
> >>doesnt exist, or not at least in ur config given below.
> >>
> >>Also route [2] doesnt really do anything..
> >>
> >>Iqbal
> >>
> >>On 4/27/2005, "Greg Martin" <Greg.Martin(a)TELUS.COM> wrote:
> >>
> >>
> >>
> >>>I'm trying to direct requests to registered users to another proxy
> >>>which has an application server. Right now the proxy simply
> >>>
> >>>
> >>sends a 404 back. In that case I want to simply complete the call.
> >>What I am doing is looping until the ser has had enough.
> I've tried to
> >>set a flag to prevent it but the flag is in fact never set although
> >>the logs indicate it's the same transaction. Any comments?
> >>
> >>
> >>>debug=3
> >>>fork=yes
> >>>log_stderror=no
> >>>dns=no
> >>>rev_dns=no
> >>>fifo="/tmp/ser_fifo"
> >>>fifo_db_url="mysql://ser:heslo@localhost/ser"
> >>>
> >>>loadmodule "/usr/local/lib/ser/modules/mysql.so"
> >>>loadmodule "/usr/local/lib/ser/modules/sl.so"
> >>>loadmodule "/usr/local/lib/ser/modules/tm.so"
> >>>loadmodule "/usr/local/lib/ser/modules/rr.so"
> >>>loadmodule "/usr/local/lib/ser/modules/maxfwd.so"
> >>>loadmodule "/usr/local/lib/ser/modules/usrloc.so"
> >>>loadmodule "/usr/local/lib/ser/modules/registrar.so"
> >>>loadmodule "/usr/local/lib/ser/modules/exec.so"
> >>>loadmodule "/usr/local/lib/ser/modules/xlog.so"
> >>>
> >>>modparam("usrloc", "db_mode", 1)
> >>>modparam("rr", "enable_full_lr", 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;
> >>> };
> >>>
> >>> xlog("L_NOTICE", "Method <%rm> r-uri <%ru>\n");
> >>>
> >>> #
> >>>
> >>>
> >>--------------------------------------------------------------
> >>----------
> >>
> >>
> >>> # Record Route Section
> >>> #
> >>>
> >>>
> >>--------------------------------------------------------------
> >>----------
> >>
> >>
> >>> if (method != "REGISTER") {
> >>> record_route();
> >>> };
> >>>
> >>> #
> >>>
> >>>
> >>--------------------------------------------------------------
> >>----------
> >>
> >>
> >>> # Loose Route Section
> >>> #
> >>>
> >>>
> >>--------------------------------------------------------------
> >>----------
> >>
> >>
> >>> if (loose_route()) {
> >>> route(1);
> >>> break;
> >>> };
> >>>
> >>> #
> >>>
> >>>
> >>--------------------------------------------------------------
> >>----------
> >>
> >>
> >>> # Call Type Processing Section
> >>> #
> >>>
> >>>
> >>--------------------------------------------------------------
> >>----------
> >>
> >>
> >>> if (uri != myself) {
> >>> route(1);
> >>> break;
> >>> };
> >>>
> >>> if (uri == myself) {
> >>> if (method == "REGISTER") {
> >>> route(2);
> >>> break;
> >>> };
> >>>
> >>> if (!lookup("location")) {
> >>> sl_send_reply("404", "User Not Found");
> >>> break;
> >>> };
> >>>
> >>> route(1);
> >>> };
> >>>}
> >>>
> >>>route[1] {
> >>> #
> >>>
> >>>
> >>--------------------------------------------------------------
> >>----------
> >>
> >>
> >>> # Default Message Handler
> >>> #
> >>>
> >>>
> >>--------------------------------------------------------------
> >>----------
> >>
> >>
> >>> xlog("L_NOTICE", "route[1] *****\n");
> >>>
> >>> t_on_reply("1");
> >>>
> >>> if(isflagset(1))
> >>> {
> >>> xlog("L_NOTICE", "RELAYING.\n");
> >>> resetflag(1);
> >>> if (!t_relay()) {
> >>> sl_reply_error();
> >>> break;
> >>> };
> >>> };
> >>>
> >>> t_on_failure("1");
> >>>
> >>> t_relay_to_udp("app_servers_address", "5060");
> >>>
> >>>
> >>>}
> >>>
> >>>route[2] {
> >>> #
> >>>
> >>>
> >>--------------------------------------------------------------
> >>----------
> >>
> >>
> >>> # REGISTER Message Handler
> >>> #
> >>>
> >>>
> >>--------------------------------------------------------------
> >>----------
> >>
> >>
> >>> if (!save("location")) {
> >>> sl_reply_error();
> >>> };
> >>>}
> >>>
> >>>onreply_route[1] {
> >>> xlog("L_NOTICE", "Reply status %rs: Reason %rr\n"); }
> >>>
> >>>failure_route[1] {
> >>> setflag(1);
> >>> xlog("L_NOTICE", "FAILURE LOGIC.\n");
> >>> revert_uri();
> >>> append_branch();
> >>> t_relay();
> >>>}
> >>>
> >>>Greg Martin
> >>>Technology & Operations
> >>>TELUS Communication Inc.
> >>>office: 780-493-2786
> >>>cell: 780-718-4139
> >>>
> >>>_______________________________________________
> >>>Serusers mailing list
> >>>serusers(a)lists.iptel.org
> >>>http://lists.iptel.org/mailman/listinfo/serusers
> >>>
> >>>
> >>>
> >>>
> >
> >_______________________________________________
> >Serusers mailing list
> >serusers(a)lists.iptel.org
> >http://lists.iptel.org/mailman/listinfo/serusers
> >
> >.
> >
> >
> >
>
Hi
Has anyone interconnected SER with audiocodes (SIP version), or any
other originating hardware, eg call centers etc.
If so how did you configure SER, since I am guessing there will only be
one INVITE, or will the device send a new INVITE per call, if the latter
then I guess you just let ser handle as it normally would, and advice ,
pointers tips, would really help
iqbal
hello Carles Wang
This is the way to to successfully call through
asterisk.
SER is Main Registrar. Asterisk is B2BUA.
SER will route its call to asterisk.
now control is at asterisk side he can do any thing to
that call (forword, voicemail, etc....). but actually
asterisk dont know who is the user he ll route this
call back to SER who is aware of the user.
it is like U-Turn through Asterisk. try this and tell
me
ser.cfg
------------------------
rewritehostport("asterisk:port");
force_rport();
fix_nated_contact();
force_rtp_proxy();
t_relay();
sip.conf
------------------------
[general]
context=default
port=5070
bindaddr=0.0.0.0
srvlookup=no
[2000]
callerid=2000
type=friend
host=dynamic
canreinvite=no
reinvite=no
qualify=yes
auth=plaintext
nat=yes
[3000]
type=friend
host=dynamic
callerid=3000
qualify=yes
canreinvite=no
reinvite=no
auth=plaintext
nat=yes
--- Charles Wang <lazy.charles(a)gmail.com> wrote:
> I also have the same problem. I don't know how to
> fix it. Do you get
> any solution or sample config about it. I think it
> is a problem of
> asterisk.
>
> On 4/28/05, Kamran Ahmad <p_kami(a)yahoo.com> wrote:
> > hi list
> >
> > any person using ser and Asterisk as B2bUA.
> >
> > what is the best way of using asterisk as B2BUA.
> >
> > i can route calls to through asterisk its working
> but
> > some time one UA tries to hangup the call and the
> > other side is not able to receive Bye
> >
> > what could be the best way of using asterisk for
> > monitering voice
> >
> > Thanks
> > Kamran
> >
> > __________________________________________________
> > Do You Yahoo!?
> > Tired of spam? Yahoo! Mail has the best spam
> protection around
> > http://mail.yahoo.com
> >
> > _______________________________________________
> > Serusers mailing list
> > serusers(a)lists.iptel.org
> > http://lists.iptel.org/mailman/listinfo/serusers
> >
>
>
> --
>
> Best Regards
> Charles
>
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com