hi all,
This is my first message, even I have been reading and learning from this great list for a while.
I used the stable branch of SER for 6 months without problems, now I'm playing with the NAT an rtp proxy stuff so I upgraded to the cvs branch.
I downloaded, compiled and installed cvs (2004-04-27) with mysql support.
After solving some compile problems (fixed in a patch by janakj in the cvs two hours after my first checkout :( I got it running but there is a problem I don't know how to solve.
I'm trying to register and call a SIP phone from behind NAT. I get it to register correctly (with the Contact field fixed) but when I try to call it, the
lookup("location")
fails and I get a
"480 Temporarily Unavailable" from ser.
The network schema I'm using is (for testing):
192.168.10.* 200.59.203.*
[Phone Gstream] .188 ------------>.1 [NAT].75 -----------------
| |
.76 .77
[SER] [SIP UA (Asterisk)]
I added a gstream1 user to SER and the register block in ser.cfg is:
......
# -- nathelper --
if (nat_uac_test("1")) {
if (method == "REGISTER" || !search("^Record-Route:")) {
log(2,"LOG: Registro desde una IP privada, re-escribiendo contacto...\n");
# Rewrite contact with source IP of signalling
fix_nated_contact();
if (method == "INVITE") {
.............
};
force_rport(); # Add rport parameter to topmost Via
setflag(6); # Mark as NATed
};
};
.............
if (uri==myself) {
if (method=="REGISTER") {
# No auth by now
log(2,"Saving url location\n");
save("location");
break;
};
.....
The ngrep SIP log for the register sequence is:
U 200.59.203.75:61503 -> 200.59.203.76:5060
REGISTER sip:200.59.203.76 SIP/2.0..Via: SIP/2.0/UDP 192.168.10.188:5062;branch=z9hG4bK975f3a4817e63645
..From: "Grandstream 1" <sip:gstream1@200.59.203.76>;tag=f001e96a008a26a5..To: <sip:gstream1@200.59.203
.76>..Contact: <sip:gstream1@192.168.10.188:5062>..Call-ID: 0776eb9b4143e102@192.168.10.188..CSeq: 102
REGISTER..Expires: 3600..User-Agent: Grandstream BT100 1.0.4.55..Max-Forwards: 70..Allow: INVITE,ACK,CA
NCEL,BYE,NOTIFY,REFER,OPTIONS,INFO,SUBSCRIBE..Content-Length: 0....
#
U 200.59.203.76:5060 -> 200.59.203.75:61503
SIP/2.0 200 OK..Via: SIP/2.0/UDP 192.168.10.188:5062;branch=z9hG4bK975f3a4817e63645;rport=61503;receive
d=200.59.203.75..From: "Grandstream 1" <sip:gstream1@200.59.203.76>;tag=f001e96a008a26a5..To: <sip:gstr
eam1(a)200.59.203.76>;tag=b27e1a1d33761e85846fc98f5f3a7e58.ce3d..Call-ID: 0776eb9b4143e102(a)192.168.10.188
..CSeq: 102 REGISTER..Contact: <sip:gstream1@200.59.203.75:61503<>;q=0;expires=3600..Server: Sip EXpres
s router (0.8.13-dev-28 (i386/linux))..Content-Length: 0....
Everything seems Ok, but here begins the problems.
If I go to the command line and type:
# serctl ul show gstream1
I get:
404 Username gstream1(a)ipcontact.com.uy in table location not found
But if I type:
# serctl ul show
Among many other lines I get:
.....
...Record(0x402f46e0)...
domain: 'location'
aor : 'gstream1(a)200.59.203.76'
~~~Contact(0x402f47c0)~~~
domain : 'location'
aor : 'gstream1(a)200.59.203.76'
Contact: 'sip:gstream1@200.59.203.75:61503'
Expires: 3083
q : 0
Call-ID: '0776eb9b4143e102(a)192.168.10.188'
CSeq : 102
replic : 0
State : CS_SYNC
Flags : 1
next : (nil)
prev : (nil)
~~~/Contact~~~~
.../Record...
.............
It seems to my like ser is not matching the domain part properly.
On the other side, the record in the mysql location table is:
username | domain | contact | expires | q | ....
gstream1(a)200.59.203.76 | | sip:gstream1@200.59.203.75:61503 | 2004-05-04 17:20:32 | -1082130.38|...
As you see 'domain' field is empty. Could be this the problem?
Anyway If I register from Kphone (user luis) running in the same machine as SER, 'domain' is empty again
luis(a)ipcontact.com.uy | |sip:luis@200.59.203.76:5062;transport=udp|2004-05-04 16:57:46|1148846.12|...
and
# serctl url show luis
fails too, however I'am able to call this user "luis(a)ipcontact.com.uy" but not
"gstream1(a)ipcontact.com.uy".
The problem here seems to be gstream1 is registered using the ser server's IP number and not the domain "ipcontact.com.uy", but shouldn't be this handled automagicaly by SER.
I don't have any hint to the serctl ul "misterio" (if fails even if I pass the domain or the ip after
the user name?)
One diference I see with the 0.8.12 stable version I'm using in "production" is after a REGISTER
only the username part of the uri is recorded in the 'username' field of table location!!
Column 'domain' is empty int this case too, but serctl works.
May be this is some king of buggy 'feature' in the cvs? Any hint?
Oh, just in case, this is the failed INVITE sequence:
U 200.59.203.77:5060 -> 200.59.203.76:5060
INVITE sip:gstream1@ipcontact.com.uy SIP/2.0..Via: SIP/2.0/UDP 200.59.203.77:5060;branch=z9hG4bK186cfac
a..From: "SIP Planet(1083694723.15)" <sip:192@ipcontact.com.uy>;tag=as16156ce5..To: <sip:gstream1@ipcon
tact.com.uy>..Contact: <sip:192@200.59.203.77>..Call-ID: 653214bf775a279776bc5c2360100a13(a)200.59.203.77
..CSeq: 102 INVITE..User-Agent: Asterisk PBX..Date: Tue, 04 May 2004 18:18:45 GMT..Allow: INVITE, ACK,
CANCEL, OPTIONS, BYE, REFER..UniqueID: 1083694725.16..Content-Type: application/sdp..Content-Length: 21
1....v=0..o=root 16321 16321 IN IP4 200.59.203.77..s=session..c=IN IP4 200.59.203.77..t=0 0..m=audio 12
692 RTP/AVP 0 3 97..a=rtpmap:0 PCMU/8000..a=rtpmap:3 GSM/8000..a=rtpmap:97 iLBC/8000..a=silenceSupp:off
U 200.59.203.76:5060 -> 200.59.203.77:5060
SIP/2.0 480 Temporarily Unavailable..Via: SIP/2.0/UDP 200.59.203.77:5060;branch=z9hG4bK186cfaca..From:
"SIP Planet(1083694723.15)" <sip:192@ipcontact.com.uy>;tag=as16156ce5..To: <sip:gstream1@ipcontact.com.
uy>;tag=b27e1a1d33761e85846fc98f5f3a7e58.251a..Call-ID: 653214bf775a279776bc5c2360100a13(a)200.59.203.77.
.CSeq: 102 INVITE..Server: Sip EXpress router (0.8.13-dev-28 (i386/linux))..Content-Length: 0
U 200.59.203.77:5060 -> 200.59.203.76:5060
ACK sip:gstream1@ipcontact.com.uy SIP/2.0..Via: SIP/2.0/UDP 200.59.203.77:5060;branch=z9hG4bK186cfaca..
From: "SIP Planet(1083694723.15)" <sip:192@ipcontact.com.uy>;tag=as16156ce5..To: <sip:gstream1@ipcontac
t.com.uy>;tag=b27e1a1d33761e85846fc98f5f3a7e58.251a..Contact: <sip:192@200.59.203.77>..Call-ID: 653214b
f775a279776bc5c2360100a13@200.59.203.77..CSeq: 102 ACK..User-Agent: Asterisk PBX..Content-Length: 0....
Thank you very much in advance.
Best regards
Luis
Hey Guys!
First, thanks for a great mailinglist!
How is it possible to either set maximum Reinvites when there is no
"reply" from the device, Im am using RecordRouteing..?
The reson why I want to do this is because If a user is temporary
offline, I want to push him QUICK to a announcement.
Anybody had this scenario before? and got an Idea on how to do this?
I had 2 toughts,
1: Count invites, and set a flag, if f.eks some reply
from phone etc, it will set counter to 0 again, and start looking for
reinvites. This idea died because SER does'nt show me the reinvites it
sends.
2: Use modparam("tm", "retr_timer2", 8), Tho this did'nt work for some
werid reson.
- Atle
Hello,
we currently experience "incoming voice loss" after an outgoing
call has been established. i.e. after the remote party picks up the
call you dont hear anything for 1-2 seconds which results in both
sides of the connection saying repeatedly "Hello" until both sides
can hear each other.
This phenomenon occurs with nated and non natted clients so it
doesnt seem to be related to "rtpproxy" or other NAT problems.
It occurs between SIP<>SIP and SIP<>PSTN Calls (via a cisco gw)
independantly of the UA type used.
Has anyone an idea where to look for the bug/where to start debugging?
best regards,
Arnd
Please provide information regarding RFC 3261 compatible SIP dialer.
---------------------------------
Do you Yahoo!?
Win a $20,000 Career Makeover at Yahoo! HotJobs
Folks,
Sorry to bother you all with such a silly question, but I am facing
some issues with ringback tones. I am using SJphones with SER. They
work perfectly well, I can make calls to other extensions and talk. I
am maintaining a list of valid users in a database table, and have a
small module which checks the authennticity of the dialed extension
when SER receives INVITEs, and if it is valid, the call is t_relayed to
the called extension. My problem is when an extension is dialed, I
cannot hear the ringing tone at the callers end. I searched on the
archives, but could not find mails addressing such a problem. Obviously
I am missing something here. Can anyone help?
Thanks for your time...
Regards, Girish
__________________________________
Do you Yahoo!?
Win a $20,000 Career Makeover at Yahoo! HotJobs
http://hotjobs.sweepstakes.yahoo.com/careermakeover
Hi,
I am happy to announce, that the isdngw reached beta state, thus I want to
encourage everyone interested in testing the PSTN gateway.
isdngw is a PSTN2SIP and SIP2PSTN gateway included in SEMS. It runs on Linux
and requires only a supported ISDN card (BRI or PRI).
A new site for isdngw was launched, too. Find installation instructions and a
list of supported cards there:
http://www.iptel.org/isdngw
Any feedback, may it be bug reports, information on ISDN controllers, any
other comments or success stories ;-) are very much appreciated.
Regards,
Uli.
Hi i have a short question about the compilation of ser,
i want to complie with DSTATE option ,
normaly i run:
make modules
make install prefix ="...."
How can i declare the DSTATE option during the installation, I take a look in the makefile.defs where I found this flag and remove the comment in front of DSTATE.
But it doesn't work .
Thanks in advance
Quenton
Hi Richard
Sorry I can't answer but I think we are looking for the sames problems
do you solve theses question could you help me ?
I have a few questions about multiple domains and call
from/to pstn. I don't want to change the ser.cfg
script everytime a new domain is added. How can I
support the following features?
1. Every domain has their own 3 or 4 digit dial plan.
When they call PSTN, their caller id should be the
either a prefix plus their internal number or a
generic receptionist number, but not the 3/4 digit
internal number. Different domains have different
prefix. Is there a way to do this without changing the
script for every domain?
2. Should interdomain calls be prohibited? Is it
preferred to send the call to PSTN and hairpin back? I
know it consumes more resources but would it provide
better privacy? If that's the case, how to prevent
interdomain calls, i.e. how to verify from and to URI
have the same host parts?
3. When PSTN calls come in, should I use prefix2domain
in pdt module to convert the PSTN number to a local
domain number? Any pitfalls?
This list has been great! Thanks for all your help.
Le jeu 06/05/2004 à 05:05, Richard a écrit :
> Hi,
>
> Is there a way to record the message and also detect
> DTMF tones? For example, after the recording, user can
> press # to stop. Then he can play and re-record it if
> necessary. This would be very useful to record
> personalize greetings.
>
> Thanks,
> Richard
>
>
>
>
>
> __________________________________
> Do you Yahoo!?
> Win a $20,000 Career Makeover at Yahoo! HotJobs
> http://hotjobs.sweepstakes.yahoo.com/careermakeover
>
> _______________________________________________
> Sems mailing list
> sems(a)lists.iptel.org
> http://lists.iptel.org/cgi-bin/mailman/listinfo/sems
Thanks, Jiri.
When I do these changes, got the following message.
0(6096) ERROR: load_module: could not open module </usr/local/lib/ser/modules/mysql.so>: /usr/local/lib/ser/modules/mysql.so: undefined symbol: fm_malloc
0(6096) parse error (31,13-49): failed to load module
ERROR: bad config file (1 errors)
Mook.
At 09:47 AM 5/6/2004, Mook wrote:
>I'm running a Linux red Hat 9.0 with all updates, I have 512 MB ram, ser 0.8.12 .
>I writes a module and compiles it fine.When ser receive invite request, this module will be executed.
>Then I gets the following error message.
>
>May 6 15:11:58 nw127 /usr/local/sbin/ser[3154]: Error: new_module: memory allocation error
>May 6 15:11:58 nw127 /usr/local/sbin/ser[3154]: Error: new_module: execute failed
>May 6 15:11:58 nw127 /usr/local/sbin/ser[3154]: ERROR: do_action: memory allocation failure
>May 6 15:11:58 nw127 /usr/local/sbin/ser[3154]: rwrite(): Error in do_action
>May 6 15:11:58 nw127 /usr/local/sbin/ser[3154]: lookup(): Unable to rewrite Request-URI
>May 6 15:11:58 nw127 /usr/local/sbin/ser[3154]: ERROR: build_res_buf_from_sip_req: out of memory ; needs 539
>May 6 15:13:21 nw127 /usr/local/sbin/ser[3118]: WARNING: unhandled signal 12
>May 6 15:15:47 nw127 /usr/local/sbin/ser[3163]: build_rr(): No memory left
>May 6 15:15:47 nw127 /usr/local/sbin/ser[3163]: insert_RR(): Error while inserting outbound Record-Route
>May 6 15:15:47 nw127 /usr/local/sbin/ser[3163]: record_route(): Error while inserting Record-Route line
>May 6 15:15:47 nw127 /usr/local/sbin/ser[3163]: ERROR: do_action: memory allocation failure
>May 6 15:15:47 nw127 /usr/local/sbin/ser[3163]: rwrite(): Error in do_action
>May 6 15:15:47 nw127 /usr/local/sbin/ser[3163]: lookup(): Unable to rewrite Request-URI
>May 6 15:15:47 nw127 /usr/local/sbin/ser[3163]: ERROR: build_res_buf_from_sip_req: out of memory ; needs 589
>May 6 15:15:47 nw127 /usr/local/sbin/ser[3166]: build_rr(): No memory left
>May 6 15:15:47 nw127 /usr/local/sbin/ser[3166]: insert_RR(): Error while inserting outbound Record-Route
>May 6 15:15:47 nw127 /usr/local/sbin/ser[3166]: record_route(): Error while inserting Record-Route line
>May 6 15:15:47 nw127 /usr/local/sbin/ser[3166]: ERROR: mk_proxy: memory allocation failure
>I change the value of PKG_MEM_POOL_SIZE by 10240*1024 in config.h and recompile.
>But I still has the same memory error message.How can get memory statistics when I send kill -SIGUSR1?
This looks like a memory leak in your module (or in SER?) unfortunately.
To get memory dumps printed, recompile SER with memory logging (i.e., replace
-DF_MALLOC with -DDBG_QM_MALLOC in Makefile.defs) and set configuration option 'memlog'
low (e.g., 'memlog=1'). On restart, SER will dump all unallocated fragments. It will
be quite a lot -- each process will have many of them, but eventually we should be able
to figure out some fragments which will be reocurring too frequently.
-jiri