Hello I'll post the answers to the two replies:
>Andrei> Do you have another UA behind the same nat, using 5060?
No it's only 1 Phone ---- ADSLRouter(NAT) ------- Internet ---------- Ser
Dhiraj > ..i'l post the two ngreps again:
I'm sorry for the long post. What I can see is, when ser runs on port 5070
the register contains a private ip in the 'Via:' header. When it runs on
5060
The 'Via:' header contains the public IP of the router and an unprivileged
port.
----------------------------------------------- 5070
-----------------------------------------------
filter: ip and ( port 5070 )
#
U 213.219.137.137:5070 -> 212.71.0.60:5070
REGISTER sip:ser.edpnet.net:5070 SIP/2.0.
Via: SIP/2.0/UDP 10.0.0.2:5070.
Supported: replaces.
User-Agent: SIP201 (lp201sip.100a).
Contact: <sip:bart@10.0.0.2:5070>;expires=60.
From: <sip:bart@ser.edpnet.net> ;tag=a000002-13ce-0-42e-7fea.
To: <sip:bart@ser.edpnet.net>.
Call-ID: a000002-13ce-0-406-79bf-1.
CSeq: 1 REGISTER.
Content-Length:0.
.
#
U 212.71.0.60:5070 -> 213.219.137.137:5070
SIP/2.0 401 Unauthorized.
Via: SIP/2.0/UDP 10.0.0.2:5070;rport=5070;received=213.219.137.137.
From: <sip:bart@ser.edpnet.net> ;tag=a000002-13ce-0-42e-7fea.
To: <sip:bart@ser.edpnet.net>;tag=2497a39c629b119dac83769f58cd2b29.1cd2.
Call-ID: a000002-13ce-0-406-79bf-1.
CSeq: 1 REGISTER.
WWW-Authenticate: Digest realm="ser.edpnet.net",
nonce="40fcce4ec4ab3796c95cb2c87a9d94a05651ed08".
Server: Sip EXpress router (0.8.13-dev-33-usrloc (i386/linux)).
Content-Length: 0.
Warning: 392 212.71.0.60:5070 "Noisy feedback tells: pid=18743
req_src_ip=213.219.137.137 req_src_port=5070 in_uri=sip:ser.edpnet.net:5070
out_uri=sip:ser.edpnet.net:5070 via_cnt==1".
.
#
U 213.219.137.137:5070 -> 212.71.0.60:5070
REGISTER sip:ser.edpnet.net:5070 SIP/2.0.
Via: SIP/2.0/UDP 10.0.0.2:5070.
Supported: replaces.
User-Agent: SIP201 (lp201sip.100a).
Contact: <sip:bart@10.0.0.2:5070>;expires=60.
Authorization: Digest username="bart", realm="ser.edpnet.net",
nonce="40fcce4ec4ab3796c95cb2c87a9d94a05651ed08",
uri="sip:ser.edpnet.net:5070", response="ea0329c8f3a4d199230733feb750d3a1",
algorithm=MD5.
From: <sip:bart@ser.edpnet.net> ;tag=a000002-13ce-40fccd8d-1991-7051.
To: <sip:bart@ser.edpnet.net>.
Call-ID: a000002-13ce-0-406-79bf-1.
CSeq: 2 REGISTER.
Content-Length:0.
.
#
U 212.71.0.60:5070 -> 213.219.137.137:5070
SIP/2.0 200 OK.
Via: SIP/2.0/UDP 10.0.0.2:5070;rport=5070;received=213.219.137.137.
From: <sip:bart@ser.edpnet.net> ;tag=a000002-13ce-40fccd8d-1991-7051.
To: <sip:bart@ser.edpnet.net>;tag=2497a39c629b119dac83769f58cd2b29.1cd2.
Call-ID: a000002-13ce-0-406-79bf-1.
CSeq: 2 REGISTER.
Contact: <sip:bart@213.219.137.137:5070>;expires=60.
Server: Sip EXpress router (0.8.13-dev-33-usrloc (i386/linux)).
Content-Length: 0.
Warning: 392 212.71.0.60:5070 "Noisy feedback tells: pid=18743
req_src_ip=213.219.137.137 req_src_port=5070 in_uri=sip:ser.edpnet.net:5070
out_uri=sip:ser.edpnet.net:5070 via_cnt==1".
.
----------------------------------------------- 5060
-----------------------------------------------
filter: ip and ( port 5060 )
#
U 213.219.137.137:5060 -> 212.71.0.60:5060
REGISTER sip:ser.edpnet.net:5060 SIP/2.0.
Via: SIP/2.0/UDP 213.219.137.137:47726.
Supported: replaces.
User-Agent: SIP201 (lp201sip.100a).
Contact: <sip:bart@10.0.0.2:5060>;expires=60.
From: <sip:bart@ser.edpnet.net> ;tag=a000002-13c4-0-429-495.
To: <sip:bart@ser.edpnet.net>.
Call-ID: a000002-13c4-0-401-719e-1.
CSeq: 1 REGISTER.
Content-Length:0.
.
#
U 212.71.0.60:5060 -> 213.219.137.137:5060
SIP/2.0 401 Unauthorized.
Via: SIP/2.0/UDP 213.219.137.137:47726;rport=5060.
From: <sip:bart@ser.edpnet.net> ;tag=a000002-13c4-0-429-495.
To: <sip:bart@ser.edpnet.net>;tag=61a88e7fd5f0561d96cde0cc9ecba6d7.2508.
Call-ID: a000002-13c4-0-401-719e-1.
CSeq: 1 REGISTER.
WWW-Authenticate: Digest realm="ser.edpnet.net",
nonce="40fcccbe3b4e06bc429de0a886d7b43409cb8427".
Server: Sip EXpress router (0.8.13-dev-33-usrloc (i386/linux)).
Content-Length: 0.
Warning: 392 212.71.0.60:5060 "Noisy feedback tells: pid=18727
req_src_ip=213.219.137.137 req_src_port=5060 in_uri=sip:ser.edpnet.net:5060
out_uri=sip:ser.edpnet.net:5060 via_cnt==1".
Hey there,
Here are the syslog messages and ngrep for a serweb send message.
Serweb reports message sent ok, but I don't receive it on the client,
nor is it stored in the Message Store?
Any ideas would be very welcome!
Dave
MSILO: the downstream UA does not support MESSAGE requests ...
Jul 20 08:49:49 sip /usr/sbin/ser[23058]: ACC: transaction answered:
method=MESSAGE, i-uri=sip:admin@161.30.94.68,
o-uri=sip:admin@161.30.94.70:5060, call_id=73f9fea9-0(a)127.0.0.1,
from=sip:test1@sip.dev.inmarsat.com;tag=533cb9e91f4b999cf76861cbb9ed54ed
-fba5, code=202
Jul 20 08:49:52 sip /usr/sbin/ser[23017]: ERROR: udp_send:
sendto(sock,0xbd777de0,667,0,0xbd779394,16): Invalid argument(22)
Jul 20 08:49:52 sip /usr/sbin/ser[23017]: CRITICAL: invalid
sendtoparameters one possible reason is the server is bound to localhost
and attempts to send to the net
Jul 20 08:49:52 sip /usr/sbin/ser[23017]: msg_send: ERROR: udp_send
failed
Jul 20 08:49:52 sip /usr/sbin/ser[23017]: ERROR: t_forward_nonack:
sending request failed
Jul 20 08:49:52 sip /usr/sbin/ser[23017]: ACC: transaction answered:
method=MESSAGE, i-uri=sip:daemon@mydomain.org,
o-uri=sip:daemon@mydomain.org, call_id=73f9fea8-0(a)161.30.94.68,
from=sip:sip_registrar@161.30.94.68;tag=533cb9e91f4b999cf76861cbb9ed54ed
-1247, code=477
ngrep UDP port 5060
interface: eth0 (161.30.94.64/255.255.255.224)
filter: ip and ( port 5060 )
match: UDP
###########################
U 161.30.94.68:5060 -> 161.30.94.70:5060
MESSAGE sip:admin@161.30.94.70:5060 SIP/2.0..Max-Forwards:
10..Record-Route
:
<sip:admin@161.30.94.68;ftag=533cb9e91f4b999cf76861cbb9ed54ed-fba5;lr=on
>
..Via: SIP/2.0/UDP 161.30.94.68;branch=z9hG4bK33b2.acca75b7.0..Via:
SIP/2.0
/UDP 161.30.94.68;branch=z9hG4bKb789.54d3c0e.0..To:
<sip:admin@161.30.94.68
>..From:
sip:test1@sip.dev.inmarsat.com;tag=533cb9e91f4b999cf76861cbb9ed54e
d-fba5..CSeq: 10 MESSAGE..Call-ID: 73f9fea9-0@127.0.0.1..Content-Length:
16
..User-Agent: Sip EXpress router(0.8.12 (i386/linux))..p-version:
Web_inter
face_Karel_Kozlik-0.9..Contact: <sip:daemon@mydomain.org>..Content-Type:
te
xt/plain; charset=UTF-8....test message....
##
U 161.30.94.70:5060 -> 161.30.94.68:5060
SIP/2.0 405 Method Not Allowed..Via: SIP/2.0/UDP
161.30.94.68;branch=z9hG4b
K33b2.acca75b7.0..Via: SIP/2.0/UDP
161.30.94.68;branch=z9hG4bKb789.54d3c0e.
0..From:
sip:test1@sip.dev.inmarsat.com;tag=533cb9e91f4b999cf76861cbb9ed54e
d-fba5..To: <sip:admin@161.30.94.68>;tag=3946696931..Contact:
<sip:admin@16
.30.94.70:5060>..Call-ID: 73f9fea9-0@127.0.0.1..Allow:
INVITE,ACK,BYE,CANC
EL,OPTIONS,NOTIFY..CSeq: 10 MESSAGE..Server: X-Lite release
103m..Content-
Length: 0....
#exit
31 received, 0 dropped
-----Original Message-----
From: Andrei Pelinescu-Onciul
[mailto:pelinescu-onciul@fokus.fraunhofer.de]
Sent: 19 July 2004 15:37
To: Dave Bath
Cc: serusers(a)lists.iptel.org
Subject: Re: [Serusers] Problem with messages + msilo
On Jul 19, 2004 at 13:32, Dave Bath <dave(a)fuuz.com> wrote:
> Hey there,
>
> Once again, many thanks for a swift response Andrei! No, the machine
> does not have two interfaces, it's a single public ip address. What do
> you mean about ingress filtering? Which network dumps would be
helpful?
If it's a single ip, than don't worry about ingress filtering.
Just dump the udp traffic to your machine port 5060 until you get one of
the log error message (sendto ...) and then send use the log and the
dump.
The message might also be caused by some UA using a 0 source port (which
is highly broken), or a 0 destination port or ip in the message uri.
Andrei
Hey guys,
Having a small problem with calls to aliases not being displayed in
serweb. If I call <username>@<host> then the missed call is displayed
fine. If I call <alias>@<host> it shows up in the "accounting" screen,
but not in the missed call screen. However, according to the logs, both
times these calls are tagged as "missed calls". Any ideas why?
I'm using ser 812 and serweb 146
(and Andrei, I'm just about to try and get those logs for you)
Many thanks in advance
D
-------------------------------------
Dave Bath
dave(a)fuuz.com
Hi.
I think there is another email address I would use for this kinds of question. If so, much appreciate if someone could let me know.
Here is my question.
I have created a module that will lookup the database and determine if I should forward, redirect, or reject the request.
Since there is no switch statement in the script, I am wondering if I would save the "action" into a static variable and export a function to check and determine the action.
I know the above could be done and it should be ok as we do a fork - should duplicate the memory as well.
I would much appreciate if someone could give me a YES or NO answer or any idea how this is done.
Many thanks.
-----Original Message-----
From: serusers-bounces(a)iptel.org [mailto:serusers-bounces@lists.iptel.org] On Behalf Of Jiri Kuthan
Sent: June 19, 2004 2:01 PM
To: Steve Blair; serusers(a)lists.iptel.org
Subject: Re: [Serusers] CC-Diversion
This may help: http://www.iptel.org/ser/doc/seruser/seruser.html#AEN1018
-jiri
At 04:09 PM 6/17/2004, Steve Blair wrote:
> Hello:
>
> Can anyone speak to how the CC-Diversion field is used
>by Cisco gateways? It is my understanding that adding this header
>field in SER will result in the Cisco gateway setting the calling party
>id to the value in the CC-Diversion header. Is this correct?
>
> I'm asking because we have an Octel 350 voice mail system that
>I would like to use for mailbox for IP phone users. The 350 expects
>a physical SMDI circuit for the call signaling path and a different
>circuit for the message body path. It would be great to allow the
>SIP signaling exiting our IP cloud through a Cisco gateway to be
>able to tell the Octel system to which subscriber mailbox the message
>should be delivered.
>
>Thanks,Steve
>
>--
>
>ISC Network Engineering
>The University of Pennsylvania
>3401 Walnut Street, Suite 221A
>Philadelphia, PA 19104
>
>
>voice: 215-573-8396
> 215-746-7903
>
>fax: 215-898-9348
>
>sip:blairs@upenn.edu
>
>_______________________________________________
>Serusers mailing list
>serusers(a)lists.iptel.org
>http://lists.iptel.org/mailman/listinfo/serusers
--
Jiri Kuthan http://iptel.org/~jiri/
_______________________________________________
Serusers mailing list
serusers(a)lists.iptel.org
http://lists.iptel.org/mailman/listinfo/serusers
Hi all,
I have a question on record routing. Once record routing is done, will the
whole traffic (including rtp) will be routed through SER or only all the
SIP messages will be passed through SER?
--
Regards,
Lakmal
Lankacom Services (Pvt) Ltd.
65C, Dharmapala Mawatha,
Colombo 07.
Sri Lanka.
Tel: +94-11-2437545
www.lankacom.net
Just an FYI I suppose, as I don't see any other notice about this. It
seems recent changes to nathelper on the trunk have made it
incompatible with the 0.8.12 branch. This prevents using the latest
RTP Proxy with SER stable.
nathelper.c: In function `force_rtp_proxy1_f':
nathelper.c:1432: `IP_ADDR_MAX_STR_SIZE' undeclared (first use in this function)
nathelper.c:1432: (Each undeclared identifier is reported only once
nathelper.c:1432: for each function it appears in.)
nathelper.c:1432: warning: unused variable `newip'
make[1]: *** [nathelper.o] Error 1
I plan to check out a week or two-old version of nathelper from trunk.
If the changes made since then were critical bug or security fixes, it
would be helpful to know.
--
Jeremy M. Dolan <mailto:jmd@pobox.com> <http://jmd.us/>
PGP: 1024D/3C68A1BA 9470 210C A476 FFBB 6D11 0223 0D1C ABFC 3C68 A1BA
Hi,
We are deploying a SER server which will be allways in the public Internet,
and of course we
will have to deal with different types of UA´s behind different types of
NAT, mostly ADSL
routers.
Can someone pls tell me which are the main differences between nathelper and
mediaproxy,
and in which scenarios one solution is better than the other ?
I´ve read the archives and still not sure ...
TIA
Gustavo Russo
Net Express Argentina
Internet Service Provider
http://www.netex.com.ar
hi
IŽm still having problems to obtain radius accounting, the authentication process works well and the calls are completed but I did not see any "Accounting Report" in /var/log/radius/radacct/ or neither in radiusd -X debug.
...IŽve just seen this error in the debug file: " ERROR: acc_rad_request: radius-ing failed "
.
.
.
8(7957) ERROR: acc_rad_request: radius-ing failed
8(7957) DEBUG: cleanup_uacs: RETR/FR timers reset
8(7957) DEBUG: add_to_tail_of_timer[2]: 0x402f59b8
8(7957) receive_msg: cleaning up
5(7954) ERROR: acc_rad_request: radius-ing failed
5(7954) SER: forwarding ACK statelessly
5(7954) DEBUG: mk_proxy: doing DNS lookup...
5(7954) check_via_address(10.0.0.236, 10.0.0.236, 0)
5(7954) Sending:
ACK sip:6604000@200.110.6.58 SIP/2.0
Record-Route: <sip:6604000@200.110.2.132;ftag=5c0013eda4;lr=on>
Via: SIP/2.0/UDP 200.110.2.132;branch=0
Via: SIP/2.0/UDP 10.0.0.236:5060;branch=z9hG4bK5c0013eda465
From: <sip:6603000@200.110.2.132>;tag=5c0013eda4
To: <sip:6604000@200.110.2.132>;tag=ac407c95a4
Call-ID: 5cc06e00-b11a-13ae-80ed-0002a40055b2(a)10.0.0.236
CSeq: 65 ACK
Content-Length: 0
Max-Forwards: 69
.
.
.
I have noticed that this error appears only when I try "setflag(1)" for the transactions I want to account, also in this case the ACK message it comes too late (not when pick Up the phone...).
these are some details of my installation:
- SuSE Linux 9.0 (i586)
- ser-0.8.12
- I have followed "radius-how-to" very carefully.
- radiusclient-0.3.2
- freeradius-0.9.3 (installed in the same host with ser and receiving accounting from other NAS)
- I am not using mysql (I will use it with radius integration).
- my current ser.cfg and endpoints configuration are shown below:
please I need someone share their ser.config file to make this works.
thanks.
Rafael Risco
ser1.cfg
#
# $Id: ser.cfg,v 1.21.4.1 2003/11/10 15:35:15 andrei Exp $
# ----------- global configuration parameters ------------------------
# debug=3 # debug level (cmd line: -dddddddddd)
# fork=yes
# log_stderror=no # (cmd line: -E)
#/* Uncomment these lines to enter debugging mode
debug=6
fork=yes
log_stderror=yes
#*/
check_via=no # (cmd. line: -v)
dns=no # (cmd. line: -r)
rev_dns=no # (cmd. line: -R)
port=5060
children=4
fifo="/tmp/ser_fifo"
# ------------------ module loading ----------------------------------
# Uncomment this if you want to use SQL database
#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/uri.so"
# loadmodule "/usr/local/lib/ser/modules/uri_radius.so"
# Uncomment this if you want digest authentication
# mysql.so must be loaded !
loadmodule "/usr/local/lib/ser/modules/auth.so"
# loadmodule "/usr/local/lib/ser/modules/auth_db.so"
loadmodule "/usr/local/lib/ser/modules/auth_radius.so"
loadmodule "/usr/local/lib/ser/modules/group_radius.so"
loadmodule "/usr/local/lib/ser/modules/acc.so"
# load the NAT Helper Module
# loadmodule "/usr/local/lib/ser/modules/nathelper.so"
# ----------------- setting module-specific parameters ---------------
# -- usrloc params --
# modparam("usrloc", "db_mode", 0)
# Uncomment this if you want to use SQL database
# for persistent storage and comment the previous line
# modparam("usrloc", "db_mode", 2)
# -- auth params --
# Uncomment if you are using auth module
#
# modparam("auth_db", "calculate_ha1", yes)
#
# If you set "calculate_ha1" parameter to yes (which true in this config),
# uncomment also the following parameter)
#
# modparam("auth_db", "password_column", "password")
# -- rr params --
# add value to ;lr param to make some broken UAs happy
modparam("rr", "enable_full_lr", 1)
modparam("acc","log_level",1)
modparam("auth_radius","radius_config","/usr/local/etc/radiusclient/radiusclient.conf")
modparam("auth_radius","service_type",15)
modparam("acc","radius_config","/usr/local/etc/radiusclient/radiusclient.conf")
modparam("acc", "service_type", 15)
modparam("acc", "radius_flag", 1)
modparam("acc", "radius_missed_flag", 3)
# ------------------------- request routing logic -------------------
# main routing logic
route{
if (method =="INVITE" | method == "BYE"){
log(1,"INVITE or BYE\n");
setflag(1);
};
if (method=="MESSAGE") {
log(1,"MESSAGE\n");
setflag(1);
};
if (method=="BYE"){
log (1, "BYEd or CANCEL\n");
setflag(1);
};
if (method=="CANCEL"){
log (1, "BYEe or CANCEL\n");
setflag(1);
};
# initial 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;
};
# 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;
};
# 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)
if (uri==myself) {
if (method=="REGISTER") {
# Uncomment this if you want to use digest authentication
if (!radius_www_authorize("")) {
www_challenge("", "0");
break;
};
save("location");
break;
};
# native SIP destinations are handled using our USRLOC DB
if (!lookup("location")) {
sl_send_reply("404", "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();
};
}
########################################################################
Example of one endpoint config:
VoiceFinder Gateway Series (http://www.addpac.com)
AP200B System software Revision 8.10
!
! VoIP configuration.
!
!
! Voice service voip configuration.
!
voice service voip
fax protocol t38 redundancy 0
fax rate 9600
h323 call start fast
no force-starth245
busyout monitor gatekeeper
busyout monitor voip-interface
display send e164
!
!
! Voice port configuration.
!
voice-port 0/0
! FXS
caller-id enable
!
!
voice-port 0/1
! FXS
caller-id enable
!
!
!
!
! Pots peer configuration.
!
dial-peer voice 0 pots
destination-pattern 6600020
port 0/0
call-waiting
!
dial-peer voice 1 pots
destination-pattern 6603000
port 0/1
call-waiting
!
!
!
! Voip peer configuration.
!
!
dial-peer voice 1002 voip
destination-pattern 6604000
session target sip-server
session protocol sip
codec g7231r63
dtmf-relay rtp-2833
!
!
!
! SIP UA configuration.
!
sip-ua
user-register
sip-username 660300X
sip-password 1234
sip-server 200.X.2.132
register e164
!
!
! MGCP configuration.
!
mgcp
codec g711ulaw
!
!
! Tones
!
!
voip-interface ether0.0
!
agent00 #
You are then using T1's to terminate PSTN routed called originating from
SIP?
Is your config operating as a GW and so a phone # can be aliased to a SIP
allowing number portability?
Thanks,
Mark Williams
Phone: 501.318.3663 ext. 600
1307 Central Ave
Hot Springs, Arkansas 71901
For God so loved the world that he gave his only begotten Son,
that whoever believes in him shall not perish but have eternal life. John
3:16