For those of you who want to follow along, the packet dump in question
is at http://strike.dclg.ca/~dgilbert/22-3-filtered ... it's a pcap
format file.
I'm using a 0.9.4 copy of ser, compiled by hand on debian stable.
Only the core portion of ser is being used, and I have simple config
file (attached).
So, roughly, a call comes in level3, they make it SIP and forward it
to my SER on port 5070. SER turns around and forwarded it to asterisk
on port 5060 of the same machine and then asterisk forwards it on to a
linksys ATA.
In short, the problem is that level3 abuses the RFC by sending from a
port and expecting you to reply on another port (specified in the
Contact: header). This goes almost right except for level3's equally
literal read of the Contact header that SER sends.
Packet Sip Command Contact
====== =========== =======
level3:38999 ser:5070 INVITE sip:+1416...@<level3 ip>:5060
ser:5070 level3:38999 100 Trying sip:+1866...@<ser ip>
(ser invites asterisk, not in dump)
asterisk:5060 ata:5060 INVITE sip:+1416...@<asterisk ip>
ata:5060 asterisk:5060 100 Trying None
ata:5060 asterisk:5060 180 Ringing None
(asterisk relays 180 to ser, not in dump)
ser:5070 level3:38999 180 Ringing sip:+1866...@<ser ip>
ata:5060 asterisk:5060 200 OK sip:604...@<ata ip>:5060
asterisk:5060 ata:5060 ACK sip:+1416...@<asterisk ip>
(asterisk relays 200 OK to ser, not in dump)
ser:5070 level3:5060 200 OK sip:+1866...@<ser ip>
level3:5060 ser:5060 !?! ACK sip:+1866...@<level3 ip>:5060
Now... the problem is that each time ser repsonds, the contact line
should be appended with ":5070" and it is not. Therefore, being the
literal people they are, level3 repsonds to port 5060 with their ACK.
This means that the ACK goes directly to asterisk rather than to SER
and it means that when the call ends, the BYE notification from
asterisk goes directly to the wrong port at level3.
Dave.
--
============================================================================
|David Gilbert, Independent Contractor. | Two things can only be |
|Mail: dave(a)daveg.ca | equal if and only if they |
|http://daveg.ca | are precisely opposite. |
=========================================================GLO================
Hi,
If we set 'Use DNS SRV: Yes' and 5 minutes REGISTRATION interval
on BT101(1.0.7.11) and GXP2000(1.0.1.9),these UACs can successfully
Re-REGISTER and INVITE other UACs on time period B, which comes
after ser1 stops, every UACs changed their target from first
DNS SRV(sip1) to second DNS SRV(sip2). But during time period A
if caller is not Re-REGISTERed on sip2, when he dials some number,
there is 'no tone(white tone?)' this means the server is down.
If the caller's phone is Re-REGISTERed on sip2 and callee's
is not yet Re-REGISTERed on sip2 in the time period A, the caller's
phone displays "404 not found". So, this is first 5 minutes out of
service probabilty time.
After the operator of servers room knew that sip1 went down and
sip2 is take care of sip calls, he tries to repair sip1 and
restarts 'ser(openser)' on sip1. But all INVITEs are handled on
sip2 now. BT101s and GXP2000s never automatically go back to sip1.
So, the operator must stop sip2 untill all REGISTERs move from
sip2 to sip1.
This is the second 5 minutes out of service probability time.
So, (5+5)minutes out of service probability time exist.
If we set 60 minutes(default) for REGISTRATION interval,
and all Re-REGISTERs happen on 50 minutes after sip1 down,
(50+50)minutes out of service probabilty becomes high.
stop ser1 stop ser2
| |
V V
....|<-- 5 min-->|<--sip2-->|<-- 5min -->|<--sip1--.....->
|service stop|service |service stop|service
| |continue | |continue
time|<----A----->|<---B---->|<----C----->|<----D---.....->
Do we need another backup method like Linux-HA if UACs(ONE
outgoing line only devices) don't support DNS SRV?
Regards,
Zen
------------ quote from Daniel's question -----------
Daniel-Constantin Mierla daniel at voice-system.ro
Wed Oct 26 16:46:32 CEST 2005
I do not get the question regarding the out of service interval when the
client does not support srv. How you computed the 5+5 interval?
----------------------------------------------------
hi all,
Is there a way to configure openser so that it sends rport in
via header ? Actually th packet from server is reverse natted through
another system using any random port, i want it the reply to come on
the same port . thanks ....
Regards,
Ranveer.
--
Memories : They bring Diamonds and Rust
Other than Session-Timers or B2BUA is there any way to detect a
runaway call? I use third party PSTN providers so, I do not control
the PSTN gateway.
I have read everything I can find on the lists but haven't had much
luck. I know I can pull info from the acc table and fake a BYE to
disconnect the call, but is there any way to first determine if the
call is still actually in progress or if it a runaway.
I have heard rumor of some providers that automatically drop calls
after an hour or so. This is obviously not a good solution.
As always, your help is most appreciated!
- Daryl
I think I asked this question before, but I honestly can't remember (been one
of those weeks).
How can I avoid someone spoofing caller ID by just putting in fake info into
their Display Name field in their UA client? I'd like to be able to replace
the display name with one of my choosing (preferably based on some rules about
the caller's ID... i.e. if the caller is a user on our system, replace his/her
display name with the last name, first name from the DB subscriber info. If
the caller is from a different system, remove the display name completely and
just pass the sip info so that at least a valid identification is seen).
This involves the dreaded modification of the From: header (although it
shouldn't break RFC because it doesn't actually involve modifying the URI.
Is there a reasonable way to do this or does this call for some more module
hacking (maybe taking bits from the UAC module and rewriting it to accept an
avp or some such) ?
N.
GDB says like this:
Program received signal SIGSEGV, Segmentation fault.
0x00f104aa in mod_init () at authrad_mod.c:123
123 attrs[A_SERVICE_TYPE]->n =
"Service-Type";
(gdb) backtrace
#0 0x00f104aa in mod_init () at authrad_mod.c:123
#1 0x080772bb in init_mod (m=0x810c2c8) at sr_module.c:474
#2 0x0805e378 in main (argc=2, argv=0xbff7efc4) at main.c:1553
Any ideas?
Thanks!
Regards,
Deepak
________________________________
From: Deepak Chandrasekaran (WT01 - Voice & Next Generation Networks)
Sent: Thursday, October 27, 2005 10:24 AM
To: 'serusers(a)lists.iptel.org'
Cc: 'serdev(a)lists.iptel.org'
Subject: Segmentation fault - Core dump
Hi,
Is there any problem with Fedora Core 4 and ser-0.9.3 with radius
authentication?
I am using ser-0.9.3, radiusclient-ng 0.5.1 with freeradius-1.0.4 and it
is working fine on RedHat 9.
I am using the same config with Fedora Core 4. Modules are compiled fine
and .so files are successfully generated. But whenever I start SER, it
gives me like:
0(0) DEBUG: init_mod: auth_radius
0(0) auth_radius - Initializing
Segmentation fault (core dumped)
Please let me know if am going wrong somewhere. This is of urgent need
and so kindly reply ASAP...
Thanks in advance...
Regards,
Deepak
Confidentiality Notice
The information contained in this electronic message and any attachments to this message are intended
for the exclusive use of the addressee(s) and may contain confidential or privileged information. If
you are not the intended recipient, please notify the sender at Wipro or Mailadmin(a)wipro.com immediately
and destroy all copies of this message and any attachments.
Hi Teigre,
Thanks for your reply and kind suggestions. In fact, I am using a session controller for sip calls. And it alerts me via email when a sessiıon is reached for about 60 minutes. At that time,
I check it manually and kil the session if the session is abondened. By sending BYE messages to both legs. From the PSTN side I get the reply what I assume ( 200 OK ) but from the sip side I get No transaction exist.
Because the session was ended before and session controller couldn’t get the BYE message for some reasons. ( Network failure or something else ).
What I am looking for that, from the media proxy, I see the active rtp session when I use media proxy for the calls. And I assume that, when the call has finished and couldn’t send or get BYE message, there will be no rtp stream going on. May be I am wrong for this. If rtp session is still open when the a side hunp up and couldn’t send bye , there is nothing to do except killing the session with sending bye messages to both sides, because there is no way to understand the call is active or not.
Best Regards,
Hakan
________________________________
From: Greger V. Teigre [mailto:greger@teigre.com]
Sent: Wednesday, October 26, 2005 10:00 AM
To: Hakan YASTI; serusers(a)lists.iptel.org; ritesh.j(a)net4.in
Subject: Re: [Serusers] end the session if no media
Hakan and Ritesh,
It seems to me that you are both asking about the same thing. This topic has been discussed many times on serusers. Search google (site:mail.iptel.org) for "BYE stateful sipsak", I'm pretty sure you will get some info.
Also, this FAQ could help:
http://www.onsip.org/modules/xoopsfaq/index.php?cat_id=3#q2
g-)
----- Original Message -----
From: Hakan YASTI <mailto:hyasti@teletek.net>
To: serusers(a)lists.iptel.org
Sent: Thursday, October 13, 2005 09:13 AM
Subject: [Serusers] end the session if no media
Hi,
I wonder, is there any way, to end the session when the media has ended. Sometimes, we have problem at BYE message. For some reasons, the bye is not coming and may be it is coming wrong.
At that time, the media is ended but the call is seen as active.
I am using ser and using media proxy.
Any suggestion for this issue ?
Best Regards,
Hakan YASTI
NGN Engineer
Teletek Telekomünikasyon Hizmetleri A.Þ.
Ayazma Dere Cad. Akþit Plaza No:12
Fulya, Beþiktaþ ISTANBUL - TURKEY
Tel : +90 212 310 22 34
Fax : +90 212 227 8700
GSM : +90 533 669 06 84
E-mail: hakan.yasti(a)teletek.net <mailto:hakan.yasti@teletek.net>
http://www.teletek.net
________________________________
_______________________________________________
Serusers mailing list
serusers(a)lists.iptel.org
http://lists.iptel.org/mailman/listinfo/serusers
Disclaimer:
This e-mail (including any attachments) may contain confidential and/or privileged information. Copying, disclosure or distribution of the material in this e-mail without our companys' authority is strictly forbidden. If you are not the intended recipient (or have received this e-mail in error), please notify the sender and delete it from your system immediately. Our Company makes no warranty as to the accuracy or completeness of any information contained in this message and hereby excludes any liability of any kind for the information contained therein or for the information transmission, reception, storage or use of such in any way whatsoever. Any opinions expressed in this message are those of the author and may not necessarily reflect the opinions of Our Company.
Yasal Uyarı:
Bu e-posta'nin içerdigi bilgiler (ekleri de dahil olmak üzere) gizlidir. Şirketimizin onayı olmaksızın içeriği kopyalanamaz, üçüncü kişilere açıklanamaz veya iletilemez . Bu mesajın gönderilmek istendiği kişi değilseniz (ya da bu e-posta’yı yanlışlıkla aldıysanız), lütfen yollayan kişiyi haberdar ediniz ve mesajı sisteminizden derhal siliniz. Şirketimiz bu mesajın içerdigi bilgilerin doğruluğu veya eksiksiz olduğu konusunda bir garanti vermemektedir. Bu nedenle bilgilerin ne şekilde olursa olsun içeriğinden, iletilmesinden, alınmasından, saklanmasından sorumlu değildir. Bu mesajın içeriği yazarına ait olup, Şirketimizin görüşlerini içermeyebilir.
Hi,
I wonder, is there any way, to end the session when the media has ended. Sometimes, we have problem at BYE message. For some reasons, the bye is not coming and may be it is coming wrong.
At that time, the media is ended but the call is seen as active.
I am using ser and using media proxy.
Any suggestion for this issue ?
Best Regards,
Hakan YASTI
NGN Engineer
Teletek Telekomünikasyon Hizmetleri A.Þ.
Ayazma Dere Cad. Akþit Plaza No:12
Fulya, Beþiktaþ ISTANBUL - TURKEY
Tel : +90 212 310 22 34
Fax : +90 212 227 8700
GSM : +90 533 669 06 84
E-mail: hakan.yasti(a)teletek.net <mailto:hakan.yasti@teletek.net>
http://www.teletek.net
Hi,
Is there any problem with Fedora Core 4 and ser-0.9.3 with radius
authentication?
I am using ser-0.9.3, radiusclient-ng 0.5.1 with freeradius-1.0.4 and it
is working fine on RedHat 9.
I am using the same config with Fedora Core 4. Modules are compiled fine
and .so files are successfully generated. But whenever I start SER, it
gives me like:
0(0) DEBUG: init_mod: auth_radius
0(0) auth_radius - Initializing
Segmentation fault (core dumped)
Please let me know if am going wrong somewhere. This is of urgent need
and so kindly reply ASAP...
Thanks in advance...
Regards,
Deepak
Confidentiality Notice
The information contained in this electronic message and any attachments to this message are intended
for the exclusive use of the addressee(s) and may contain confidential or privileged information. If
you are not the intended recipient, please notify the sender at Wipro or Mailadmin(a)wipro.com immediately
and destroy all copies of this message and any attachments.
Hello friends,
I need a common database as I am trying to
loadbalance 2-3 opensers. How can I make sure that the changes
committed by one server, is reflected to other. ie. say user1
registers via ser1 and entry is added to the database. now when i
quesry server2 for options of user1 i should get 200 ok.
i mean is there a mechanism to read thru the database. like cache less mode.
Regards,
Ranveer.