Hi,
Is it possible to give same alias to different subscribers? Trying to
add same alias in serctl isn't well succeeded because it says that that
alias is already in use by other user. Is it any other way to do it?
Regards,
Ricardo.
Is it possible to change just the display name portion of the from
header? I'm trying to implement caller ID blocking but we cannot remove
the actual from URI because that breaks our gateway based CDR generation.
I'm hoping changing the from header to something like:
from="Anonymous" <sip:376826@myschool.edu>;tag=003094
Thanks,
Steve
--
ISC Network Engineering
The University of Pennsylvania
3401 Walnut Street, Suite 221A
Philadelphia, PA 19104
voice: 215-573-8396
215-746-8001
fax: 215-898-9348
sip:blairs@net.isc.upenn.edu
After reading a bit more mails, I came to two possible problems:
1. fix_nated_contact() needs a registrar to work properly
I dont use a registrar, since i register at the VoIP - Provider.
or
2. fix_nated_contact() is not ment to be used on this scenario
Any ideas on this?
Sebastian
> Hi everybody,
>
> need some help on nattraversal.
>
> i use a multihomed SER, one private IP & one public IP.
>
> MyUA(privateIP) <-> (privateIP)SER(publicIP) <-> UA-(VoIP - Provider, pubicIP)
>
> If i try to make a call from private net to public net, SER doesnt change the contact address. He changes the sdp - connection field but he, puts in the wrong IP - address.
> Instead o writing down his public IP, SER writes his private IP.
> Then SER forwards the call on his public interface to the provider, which will get wrong Contact & SDP information.
>
> After reviewing my logs i saw that SER does the nat_uac_test, but the fix_nat_contact & fix_sdp dont work dont do what they should do :)
>
> Here are the important bits of my config:
>
> fork=yes
> log_stderror=no
>
> mhomed=1
> listen=10.x.x.x
> listen=193.x.x.x
>
> loadmodule "/usr/lib/ser/modules/nathelper.so"
> modparam("usrloc", "db_mode", 0)
>
> modparam("registrar", "nat_flag", 6)
> modparam("nathelper", "natping_interval", 30) # Ping interval 30 s
> modparam("nathelper", "ping_nated_only", 1) # Ping only clients behind NAT
>
> if (nat_uac_test("3")) {
>
> if (method == "REGISTER" || ! search("^Record-Route:")) {
> log(2,"LOG: Someone trying to register from private IP, rewriting\n");
>
> fix_nated_contact(); # Rewrite contact with source IP of signalling
> if (method == "INVITE") {
> fix_nated_sdp("1"); # Add direction=active to SDP
> };
> force_rport(); # Add rport parameter to topmost Via
> setflag(6); # Mark as NATed
> };
> };
>
> ... and so on.
>
>
>
> ______________________________________________________________
> 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
_____________________________________________________________________
Der WEB.DE SmartSurfer hilft bis zu 70% Ihrer Onlinekosten zu sparen!
http://smartsurfer.web.de/?mc=100071&distributionid=000000000071
Hi everyone,
We have been having a problem with our openser installation for a while,
certain REGISTER requests generates errors.
The openser version we are running is 1.0.0 from cvs.
Does anyone have a clue why the following register generates the error
below?
Register:
xxx.xxx.xx.xx:5061 -> yyy.yyy.yyy.yyy:5060
REGISTER sip:sip.xxxxx.xxx SIP/2.0..Via: SIP/2.0/UDP
xxx.xxx.xx.xx:5061;branch=z9hG4bK-39f541a2..From: aaaa.bbbbb <sip:
username123(a)sip.xxxxx.xxx>;tag=ea
8cef4b108a99bco1..To: aaaa.bbbbb <sip:
username123(a)sip.xxxxx.xxx>..Call-ID:
b96fead3-f03493d4@xxx.xxx.xx.xx..CSeq: 2508 REGISTER..Max-Forwards:
70..Conta
ct: aaaa.bbbbb <sip:
username123@xxx.xxx.xx.xx:5061>;expires=3600..User-Agent:
Linksys/RT31P2-2.0.10(LIc)..Content-Length: 0..Allow: ACK, BYE, CANCEL, IN
FO, INVITE, NOTIFY, OPTIONS, REFER..Supported: x-sipura....
Error:
/sbin/openser[18198]: ERROR: get_hdr_field: bad to header
/sbin/openser[18198]: ERROR: bad header field
/sbin/openser[18198]: ERROR: get_hdr_field: bad to header
/sbin/openser[18198]: ERROR: bad header field
/sbin/openser[18198]: ERROR:parse_from_header: bad from header
/sbin/openser[18198]: xl_get_from: ERROR cannot parse FROM header
/sbin/openser[18198]: ERROR: get_hdr_field: bad to header
/sbin/openser[18198]: ERROR: bad header field
/sbin/openser[18198]: xl_get_to: ERROR cannot parse TO header
/sbin/openser[18198]: [REGISTER] from [<null>] to [<null>]
/sbin/openser[18198]: ERROR: get_hdr_field: bad to header
/sbin/openser[18198]: ERROR: bad header field
/sbin/openser[18198]: ERROR:maxfwd:is_maxfwd_present : parsing
MAX_FORWARD header failed!
/sbin/openser[18198]: ERROR:parse_from_header: bad from header
/sbin/openser[18198]: insert_RR(): From parsing failed
/sbin/openser[18198]: record_route(): Error while inserting Record-Route
line
/sbin/openser[18198]: ERROR: get_hdr_field: bad to header
/sbin/openser[18198]: ERROR: bad header field
/sbin/openser[18198]: find_first_route: Error while parsing headers
/sbin/openser[18198]: analyzing REGISTER request
/sbin/openser[18198]: ERROR: get_hdr_field: bad to header
/sbin/openser[18198]: ERROR: bad header field
/sbin/openser[18198]: find_credentials(): Error while parsing headers
/sbin/openser[18198]: pre_auth(): Error while looking for credentials
/sbin/openser[18198]: ERROR: get_hdr_field: bad to header
/sbin/openser[18198]: ERROR: bad header field
/sbin/openser[18198]: ERROR: get_hdr_field: bad to header
/sbin/openser[18198]: ERROR: bad header field
/sbin/openser[18198]: ERROR: build_res_buf_from_sip_req: alas,
parse_headers failed
/sbin/openser[18198]: pre_auth(): Error while sending 400 reply
Many thanks,
Lars Sundqvist
Hi everybody,
need some help on nattraversal.
i use a multihomed SER, one private IP & one public IP.
MyUA(privateIP) <-> (privateIP)SER(publicIP) <-> UA-(VoIP - Provider, pubicIP)
If i try to make a call from private net to public net, SER doesnt change the contact address. He changes the sdp - connection field but he, puts in the wrong IP - address.
Instead o writing down his public IP, SER writes his private IP.
Then SER forwards the call on his public interface to the provider, which will get wrong Contact & SDP information.
After reviewing my logs i saw that SER does the nat_uac_test, but the fix_nat_contact & fix_sdp dont work dont do what they should do :)
Here are the important bits of my config:
fork=yes
log_stderror=no
mhomed=1
listen=10.x.x.x
listen=193.x.x.x
loadmodule "/usr/lib/ser/modules/nathelper.so"
modparam("usrloc", "db_mode", 0)
modparam("registrar", "nat_flag", 6)
modparam("nathelper", "natping_interval", 30) # Ping interval 30 s
modparam("nathelper", "ping_nated_only", 1) # Ping only clients behind NAT
if (nat_uac_test("3")) {
if (method == "REGISTER" || ! search("^Record-Route:")) {
log(2,"LOG: Someone trying to register from private IP, rewriting\n");
fix_nated_contact(); # Rewrite contact with source IP of signalling
if (method == "INVITE") {
fix_nated_sdp("1"); # Add direction=active to SDP
};
force_rport(); # Add rport parameter to topmost Via
setflag(6); # Mark as NATed
};
};
... and so on.
______________________________________________________________
Verschicken Sie romantische, coole und witzige Bilder per SMS!
Jetzt bei WEB.DE FreeMail: http://f.web.de/?mc=021193
I've got two Linksys phones (one spa3000, one spa942)
and registered markkent@... from both on the openser1.0.1 box.
>From a third device I call markkent@... and both ring. If I take my
time answering one phone then everything works as expected.
The CANCEL gets sent to the second phone and that phone says OK and
maybe I get one spurious ring but it stops.
I noticed that if I answer one phone really quickly then the other
phone will keep on ringing. So, I looked at the traffic and this is
what happens:
The players are ORIGINATOR, OPENSER, ANSWEREDPHONE
and IGNOREDPHONE
ORIGINATOR sends the INVITE to OPENSER where it
gets branched out to both ANSWEREDPHONE and IGNOREDPHONE
Both phones send back "100 Trying"
ANSWEREDPHONE sends "180 Ringing" and OPENSER relays that
to ORIGINATOR
ANSWEREDPHONE sends "200 OK" when I answer, and OPENSER relays that
to ORIGINATOR
OPENSER sends "CANCEL sip:markkent@IGNOREDPHONE-IP:5062"
to IGNOREDPHONE
about 0.6 seconds later OPENSER repeats the CANCEL
IGNOREDPHONE sends back to OPENSER
481 Call Leg/Transaction Does Not Exist
and does it twice, perhaps once for each CANCEL
Then IGNOREDPHONE sends back "180 Ringing"
IGNOREDPHONE rings, a lot, but does not send back "180 Ringing" messages
There are a lot of "200 OK" messages exchanged between the
IGNOREDPHONE and the OPENSER box.
The IGNOREDPHONE took 5 seconds to send back the first "180 Ringing",
these phones are side by side, although IGNOREDPHONE (the 942) is
NAT'ed and ANSWEREDPHONE is not.
The ngrep output is here: http://a.mainstreet.net/double-ring.txt
What I would like to know is whether this is something I can and/or
should handle in the openser configuration? If so, how?
Thanks,
-mark
Hi,
1. In your "domain" table (i.e. MySQL) in both SER's you'd have to add
domain entries.
E.g. # serctl domain add you.domain.name.net
2. Then into" trusted" tables add entries as follows:
a. For 192.168.100 --> Login to MySQL, and insert entries into
SER's trusted table:
mysql> insert into trusted values ('192.168.200.200', 'any', '^sip:.*$');
b. And vice versa.
3. After that you need to modify ur ser.cfg whenever INVITE method is
encountered:
E.g.
...
if(!allow_trusted() && !is_uri_host_local() ) {
if (!proxy_authorize("you.domain.name.net","subscriber")) {
proxy_challenge("you.domain.name.net","0");
break;
}
else if (!check_from()) {
xlog("L_WARN", "[%Tf]:%rm: possible uri spoofing attempt!;
IP=%is; from=%fu; to=%tu\n");
sl_send_reply("403", "Forbidden");
break;
};
consume_credentials();
};
....
Before saving make sure these modules are properly loaded: uri_db.so,
domain.so, permissions.so and xlog.so.
4. Then restart your restart your SER
Hope that works.
Andrey.
On 8/1/06, Asep Saifudin <aseps2000(a)gmail.com> wrote:
> Andrey,
>
> I have try to put in my ser.cfg like this below but still doesnt work.
> in my first SER Server :
>
> if (!proxy_authorize("192.168.200.200", "subscriber")) {
> proxy_challenge("192.168.200.200", "0");
> break;
> };
>
> and in my secondary SER server :
>
> if (!proxy_authorize(" 192.168.100.100", "subscriber")) {
> proxy_challenge("192.168.100.100", "0");
> break;
> };
>
> Really need further advice from you or anyone who have implement for call
> between 2 SER Server ?
>
> Thanks,
> Asep
>
> 2006/8/1, Asep Saifudin <aseps2000(a)gmail.com>:
> >
> > can you give me step by step what should I do for this ? or sample for
> this scheme ?
> > And should I add my first SER server domain in my secondary SER server
> domain table (in MySQL server) or how because I still dont undestand with
> your explanation ?
> >
> >
> >
> > 2006/8/1, Andrey Kouprianov <andrey.kouprianov(a)gmail.com >:
> >
> > > Make your ser.cfg on receiving side configured so that it does NOT
> > > authorize incoming calls from different domains. Otherwise, the caller
> > > will always be rejected.
> > >
> > > On 8/1/06, Asep Saifudin < aseps2000(a)gmail.com> wrote:
> > > > Hi,
> > > >
> > > > I have two running SER Server but I stil got problem to make call from
> my
> > > > first SER server to my secondary SER server.
> > > >
> > > > My first SER server info :
> > > > 1. IP address = 192.168.100.100
> > > > 2. sample subscriber number is 10999
> > > >
> > > > My second SER Server info :
> > > > 1. IP address = 192.168.200.200
> > > > 2. sample subscriber number is 20099
> > > >
> > > > My question is :
> > > > How suberiber 10099 can call to subscriber 20099 ?
> > > > What additional config should I put in each ser.cfg ? or
> > > > should I use gatekeeper/softswitch ?
> > > >
> > > > Thanks
> > > >
> > > > _______________________________________________
> > > > 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
> > >
> >
> >
> >
>
>
Dear all,
I would like to say thanks for everybody help and kind-hearted who always give me some helps to solve my problem. Thank you very much.
Now, I have a problem in my openser. I can`t make a calling from client using the xlite. It is meant that the client can not make a call by using xlite ( It can not connect to server) .
In xlite screen, it always shows "403 forbidden" message. Does anybody can give me a suggesstion what is meant? Where the problem comes from? Please help me ...Please.
For the information:
1. The client use IP 202.95.149.2
2. This is the log message that I have got from xlite diagnostic:
SEND TIME: 3836510
SEND >> 202.95.149.250:5060
REGISTER sip:pcr.ac.id SIP/2.0
Via: SIP/2.0/UDP 202.95.149.40:5060;rport;branch=z9hG4bKC098998FE862469BBE0A3F218390D2B1
From: aldi <sip:123@pcr.ac.id>;tag=4145118495
To: aldi <sip:123@pcr.ac.id>
Contact: "aldi" <sip:123@202.95.149.40:5060>
Call-ID: AF8EEFDE9AD94CC5B910233C4AFA09BF(a)pcr.ac.id
CSeq: 5795 REGISTER
Expires: 1800
Max-Forwards: 70
User-Agent: X-Lite release 1105x
Content-Length: 0
RECEIVE TIME: 3836512
RECEIVE << 202.95.149.250:5060
SIP/2.0 403 Forbidden
Via: SIP/2.0/UDP 202.95.149.40:5060;rport=5060;branch=z9hG4bKC098998FE862469BBE0A3F218390D2B1
From: aldi <sip:123@pcr.ac.id>;tag=4145118495
To: aldi <sip:123@pcr.ac.id>;tag=98a2bfb09e790c090877fa710657efb6.0d98
Call-ID: AF8EEFDE9AD94CC5B910233C4AFA09BF(a)pcr.ac.id
CSeq: 5795 REGISTER
Server: OpenSer (1.1.0-tls (i386/linux))
Content-Length: 0
Warning: 392 202.95.149.250:5060 "Noisy feedback tells: pid=4439 req_src_ip=202.95.149.40 req_src_port=5060 in_uri=sip:pcr.ac.id out_uri=sip:pcr.ac.id via_cnt==1"
3.What is the meaning : " 2(4454) is_local(): Realm 'pcr.ac.id' is not local"?
I got it when I run "openser" command. This is the message that I got:
get_hdr_field: cseq <CSeq>: <1497> <REGISTER>
2(4454) DEBUG:maxfwd:is_maxfwd_present: value = 70
2(4454) parse_headers: flags=200
2(4454) DEBUG: get_hdr_body : content_length=0
2(4454) found end of header
2(4454) find_first_route: No Route headers found
2(4454) loose_route: There is no Route HF
2(4454) is_local(): Realm 'pcr.ac.id' is not local
2(4454) DEBUG: add_param: tag=888227406
2(4454) DEBUG:parse_to:end of header reached, state=29
2(4454) DBUG:parse_to: display={123}, ruri={sip:123@pcr.ac.id}
2(4454) is_local(): Realm 'pcr.ac.id' is not local
2(4454) parse_headers: flags=ffffffffffffffff
2(4454) check_via_address(202.95.149.2, 202.95.149.2, 0)
2(4454) DEBUG:destroy_avp_list: destroying list (nil)
2(4454) receive_msg: cleaning up
4(4460) udp_rcv_loop: probing packet received from 202.95.149.2 50195
5(4461) udp_rcv_loop: probing packet received from 202.95.149.2 50195
2(4454) udp_rcv_loop: probing packet received from 202.95.149.2 50195
4.This is the contain of mysql:
mysql> select * from aliases;
+----------+-----------+--------------------+----------+------+---------------------+------+---------------------------------------------------------------------+------+---------------------+-------+---------------------+--------+---------+| username | domain | contact | received | path | expires
| q | callid
| cseq | last_modified | flags | user_agent | socket | methods |+----------+-----------+--------------------+----------+------+---------------------+------+---------------------------------------------------------------------+------+---------------------+-------+---------------------+--------+---------+| 123 | pcr.ac.id | sip:coba@pcr.ac.id | NULL | NULL | 2006-08-09 02:53:59 | 1.00 | The-Answer-To-The-Ultimate-Question-Of-Life-Universe-And-Everything | 42 | 1970-01-01 07:00:00 | 128 | OpenSER Server FIFO | NULL | NULL || 456 | pcr.ac.id | sip:feri@pcr.ac.id | NULL | NULL | 2006-08-09 06:57:28 | 1.00 | The-Answer-To-The-Ultimate-Question-Of-Life-Universe-And-Everything | 42 | 1970-01-01 07:00:00 | 128 | OpenSER Server FIFO | NULL | NULL
|+----------+-----------+--------------------+----------+------+---------------------+------+---------------------------------------------------------------------+------+---------------------+-------+---------------------+--------+---------+2 rows in set (0.00 sec)
I do hope anybody can help me. I have tried to solve this problem 2 days but I can`t. Please help me..please..
Regards with cheers,
Ferianto
---------------------------------
Do you Yahoo!?
Next-gen email? Have it all with the all-new Yahoo! Mail Beta.
---------------------------------
Get your email and more, right on the new Yahoo.com
Hello All,
I am using ser-0.8.14 as the proxy and seeing the below given crash
frequently. Please let me know what is causing the issue. The pool size is
around 16mb.
Loaded symbols for /lib/libnss_dns.so.2
#0 qm_malloc (qm=0x80cea20, size=16) at mem/q_malloc.c:239
239 FRAG_END(next)->prev_free=prev;
(gdb) bt
#0 qm_malloc (qm=0x80cea20, size=16) at mem/q_malloc.c:239
#1 0x080cea20 in mem_block ()
#2 0x08069dce in hostent_cpy (dst=0x80d0d74, src=0x80b8ce0) at proxy.c:133
#3 0x08069576 in mk_proxy (name=0xbfffe540, port=5060, proto=1) at proxy.c
:228
#4 0x40296c41 in uri2proxy (uri=0xbfffe798, proto=16) at ut.h:120
#5 0x40295ab9 in uri2sock (uri=0x10, to_su=0xbfffe6b0, proto=16) at ut.h
:141
#6 0x4029476a in build_dlg_ack (rpl=0xbfffe7a0, Trans=0x42533318,
branch=16, to=0xbfffe748, len=0xbfffe7a0, next_hop=0xbfffe798)
at t_msgbuilder.c:410
#7 0x402992a1 in build_local_ack (rpl=0x80d18c8, trans=0x10, branch=16,
ret_len=0x10, next_hop=0x10) at t_reply.c:274
#8 0x40298621 in reply_received (p_msg=0x80d18c8) at t_reply.c:1217
#9 0x080569a0 in forward_reply (msg=0x80d18c8) at forward.c:504
#10 0x0806bea1 in receive_msg (
buf=0x80b9700 "SIP/2.0 200 OK\r\nVia: SIP/2.0/UDP 4.71.12.219:5068
;branch=z9hG4bKe921.67e8dc61.0\r\nFrom:
<sip:+xxxxxx@xx.xx.xx.xxx:xxxx>;tag=5df86c24f8e00fb2ae17ab041c094b88-7a49\r\nTo:
<sip:+xxxxx@xx.xx.xx.xxx:"..., len=592, rcv_info=0x80d18c8) at receive.c:201
#11 0x080795ef in udp_rcv_loop () at udp_server.c:370
#12 0x0805aa89 in main_loop () at main.c:1107
#13 0x0805ce8e in main (argc=1108556168, argv=0xbfffed14) at main.c:2130
#14 0x42015574 in __libc_start_main () from /lib/tls/libc.so.6
(gdb) f 0
#0 qm_malloc (qm=0x80cea20, size=16) at mem/q_malloc.c:239
239 FRAG_END(next)->prev_free=prev;
(gdb) list 239
234
235 prev=FRAG_END(frag)->prev_free;
236 next=frag->u.nxt_free;
237 prev->u.nxt_free=next;
238 if(prev)
239 FRAG_END(next)->prev_free=prev;
240 }
241
242
243 #ifdef DBG_QM_MALLOC
(gdb)
Looking forward for the reply
Thanks
Suresh