Hi,
we are using kamailio at Bosch with some several thousand users. From time to time we encounter the following in the logs of kamailio:
/usr/sbin/kamailio[9247]: ERROR: tm [ut.h:255]: ERROR: uri2dst: bad_uri: sip:
/usr/sbin/kamailio[9247]: ERROR: tm [t_fwd.c:1528]: ERROR: t_forward_nonack: failure to add branches
Am I right that this means a relay/forward happened and either $ru or $du was just set to "sip:" ?
Thanks in advance.
Mit freundlichen Grüßen / Best regards
Marco Barthel
Robert Bosch GmbH
(CI/AFU1)
www.bosch.com
Tel. +49 711 811-3602341
marco.barthel(a)de.bosch.com
Sitz: Stuttgart, Registergericht: Amtsgericht Stuttgart, HRB 14000;
Aufsichtsratsvorsitzender: Hermann Scholl; Geschäftsführung: Franz Fehrenbach, Siegfried Dais;
Stefan Asenkerschbaumer, Bernd Bohr, Rudolf Colm, Volkmar Denner, Christoph Kübel, Uwe Raschke,
Wolf-Henning Scheider, Werner Struth, Peter Tyroller
Hi folks
I've configured Kamailio as a simply multi-homed proxy offering NAT
traversa, TCP connection management, etc to FreeSWICH behind it. FreeSWITCH
acts as the registrar.
I'm trying to understand the default config and the following things don't
make sense to me (I can't find documentation on these):
1. The nat=yes flag. What does it mean exactly and why is it on the RR and
not on the Contact/R-URI? Also, when double RR is enabled, why does it get
added to both headers?
2. The FLT_NATS and FLB_NATB flags. I'd like to know what this stands for,
I guess "flag for transaction - NAT" and "flag for branch - NAT" but what
do the S and the B stand for? More importantly what do these flags mean? Is
it correct to say that the first indicates the UAC / A-leg / requester is
behind NAT and the second that the UAS / B-leg / responder is behind NAT?
3. In the the NATMANAGE route of the default config we have:
if (is_request()) {
if(has_totag()) {
if(check_route_param("nat=yes")) {
setbflag(FLB_NATB);
}
}
}
Which to me means "if the message is a request inside an existing dialog
..." and I'm thinking, isn't this a bit late in the dialog to be setting
NAT flags? I would expect to set the flag for the A-leg on the incoming
request, and the flag for the B-leg on the incoming reply. I can't point in
waiting for the ACK to try and work out whether this leg is behind NAT. And
also it seem this set of if statements will also match incoming requests
from the A-leg, so why are we setting a brach flag? Does that leg also also
get the properties of a branch?
4. When I get a 200 OK coming from behind NAT it is not subjected to
fix_nated_contact(), and this seems to be because it doesn't have the
FLB_NATB flag set:
if (is_reply()) {
if(isbflagset(FLB_NATB)) {
fix_nated_contact();
}
}
Any help clarifying would be much appreciated.
Thanks,
Richard
--
Richard Brady
The use case is that I have a SIP client registered to Kamailio talking to
an Asterisk box connected to the PSTN. The client is a mobile phone and the
user is connected to wifi. The user then steps out of wifi range and the
phone drops the connection and picks up the 3g data connection. I want the
media stream to reconnect to the client and the call to resume without
having to redial. This works now if the client is directly connected to the
Asterisk machine, but not when I am routing through my Kamailio server. How
do I go about this, examples are always appreciated, thanks!
Hello,
I've been pondering over an architecture of distributed VoIP services on
different geographic regions. I'm sure its nothing new and there are lots
of guys have ideas to share.
There are multiple SIP enabled Regions/locations, each has its own media
services and full services capability. Now Imagine I've unique SIP users
registering on each Region. What I want to achieve is as follows:
1- User A from Region-A dials User-B registering on Region-C
2- Region-A inquires all Regional-Nodes and in response only one Regional
Node (Region-C) raises hand that it has this particular user registered.
3- Upon this reply Region-A Kamailio relays the call to Region-C kamailio
and we get a successful call.
The SIP users are mobile and can register to different regions depending
upon their location so thats why I need step-2.
Offline SIP user's will be handled by the destination number area code and
routed to the closest serving VoIP region.
How can we use the new modules like DMQ or Presence to achieve this !1
Regards,
Sammy Go.
Hi Daniel
It is fixed :-)
What was the problem?
Thanks,
Charles
Daniel-Constantin Mierla <miconda(a)gmail.com> wrote:
Hello,
can you try with latest master branch -- it should be fixed by:
http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=1d89d7b…
Cheers,
Daniel
On 5/29/12 5:52 PM, Daniel-Constantin Mierla wrote:
Hello,
finally had a chance to look over it. I guess it is some race, resulting in a memory space being overwritten. The 200ok for publish with ringing state is processed more or less at the time when 200ok for invite comes and dialog changes state.
Can you re-compile with MEMDBG=1 (edit the Makefile.defs or give it in the command line parameter) and try again? Maybe the memory manager can catch the fault operation and provide more details.
Cheers,
Daniel
On 5/17/12 6:58 PM, Charles Chance wrote:
Hi Daniel,
I have sent the messages over to you.
I look forward to hear what you can find.
Best,
Charles
From: Daniel-Constantin Mierla [mailto:miconda@gmail.com]
Sent: 17 May 2012 15:06
To: Charles Chance
Cc: 'SIP Router - Kamailio (OpenSER) and SIP Express Router (SER) -Users Mailing List'
Subject: Re: FW: (Devel) Segmentation fault using pua_dialoginfo
Hello,
the content of ps->param is pretty much all invalid. So looks like a callback on a freed/invalid parameter, could be a double-callback execution.
Set debug=3 and send all the messages for such case -- it might be quite a lot of them, so send them to my email address, the mailing list has a limit of message size.
Cheers,
Daniel
On 5/17/12 2:13 PM, Charles Chance wrote:
Hi,
Requested output as follows:
(gdb) frame 1
#1 publ_cback_func (t=0xb3dc8e38, type=1024, ps=0xbfcdd5d8)
at send_publish.c:246
246 hash_code= core_hash(hentity->pres_uri, NULL, HASH_SIZE);
(gdb) p *ps
$2 = {req = 0x0, rpl = 0xb7c30340, param = 0xb3dc3ff4, code = 412, flags = 0,
branch = 0, t_rbuf = 0x0, dst = 0x0, send_buf = {s = 0x0, len = 0}}
(gdb) p *(ua_pres_t*)(*ps->param)
$3 = {id = {s = 0x20455942 <Address 0x20455942 out of bounds>,
len = 980445555}, pres_uri = 0x40323531, event = 875444279,
expires = 875703856, desired_expires = 858861105, flag = 808794676,
db_flag = 1394618421, cb_param = 0x322f5049, next = 0xa0d302e,
ua_flag = 979462486, etag = {
s = 0x50495320 <Address 0x50495320 out of bounds>, len = 808333871},
tuple_id = {s = 0x5044552f <Address 0x5044552f out of bounds>,
len = 775436064}, body = 0x322e3034, content_type = {
s = 0x312e3134 <Address 0x312e3134 out of bounds>, len = 1648047155},
watcher_uri = 0x636e6172, call_id = {
s = 0x397a3d68 <Address 0x397a3d68 out of bounds>, len = 1647593320},
to_tag = {s = 0x3435634b <Address 0x3435634b out of bounds>,
len = 842149473}, from_tag = {
s = 0x63306461 <Address 0x63306461 out of bounds>, len = 808334648},
cseq = 1767246349, version = 1394621025, outbound_proxy = 0x322f5049,
extra_headers = 0x552f302e, record_route = {
s = 0x31205044 <Address 0x31205044 out of bounds>, len = 825111097},
remote_contact = {s = 0x312e3836 <Address 0x312e3836 out of bounds>,
len = 976498224}, contact = {
s = 0x36373135 <Address 0x36373135 out of bounds>, len = 1701985073}}
Yes, it is a test server so very happy to arrange for remote access if required. In the meantime, I will do a little more digging to try to find out why entity is null.
Cheers,
Charles
--
Daniel-Constantin Mierla - http://www.asipto.comhttp://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda
No virus found in this message.
Checked by AVG - www.avg.com
Version: 2012.0.2176 / Virus Database: 2425/5004 - Release Date: 05/16/12
--
Daniel-Constantin Mierla - http://www.asipto.comhttp://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda
Kamailio Advanced Training, Seattle, USA, Sep 23-26, 2012 - http://asipto.com/u/katu
--
Daniel-Constantin Mierla - http://www.asipto.comhttp://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda
Kamailio Advanced Training, Seattle, USA, Sep 23-26, 2012 - http://asipto.com/u/katu
Kamailio Practical Workshop, Netherlands, Sep 10-12, 2012 - http://asipto.com/u/kpw
Hello,
I am introducing Vicente as a new registered developer - he submitted
lately very useful patches to ndb_redis module (e.g., array support in
replies, redis free function for config), new ones being on the pipe --
he can present better his plans or you just watch the commits.
Mainly he will be in charge with ndb_redis module, being a heavy user of
it, but there have been submissions from him to other parts of code, we
welcome improvements and new good features anywhere!
Welcome and looking forward to your contributions!
Cheers,
Daniel
--
Daniel-Constantin Mierla - http://www.asipto.comhttp://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda
Kamailio Advanced Training, Seattle, USA, Sep 23-26, 2012 - http://asipto.com/u/katu
Kamailio Practical Workshop, Netherlands, Sep 10-12, 2012 - http://asipto.com/u/kpw
hello,
install and configure kamailio on a godaddy load-balanced cloud server and
create a vpn with the customer site.
the objective is to use the customer's sip provider, which requires a
static ip address, with a dhcp connection.
please contact me off-list if you are interested.
dave(a)copycall.com
thank you,
dave
Hello,
I am using the example that came with my kamailio deb file to launch a
call server side. I send a dummy INVITE to the phone, when the phone
responds 200 OK, I reply with a REFER to send the phone to the desired
number. ( ctd.sh.gz )
My problem is that if I don't answer the ctd call, the phone rings for a
long time ( or endlessly on certain devices ). I tried adding an
Expires: 10, and it did not make any difference.
Is there a way to cancel this call from the ctd script ?
David
Kamailio v3.3.0 is out – a major release with a very large number of new
features and improvements.
This release is a result of about 6 months of development and 2 months
of testing from the teams of Kamailio (OpenSER) and SIP Express Router
(SER) projects. Version 3.3.0 comes with 7 brand new modules in addition
to a lot of fresh features in core and old modules. You can read
detailed release notes at:
* http://www.kamailio.org/w/kamailio-v3-3-0-release-notes/
Many thanks to all developers and community members that made possible
this release.
Enjoy SIP routing in a secure, flexible and easier way with Kamailio v3.3.0!
Cheers,
Daniel
--
Daniel-Constantin Mierla - http://www.asipto.comhttp://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda
Hello,
On 6/19/12 4:49 PM, Min Wang wrote:
> Hi
>
> Here is another similar case which does not work. maybe it is related
> the above issue as well.
>
> Jitsi 1.1 client: 101/103 , with xcap as storage
> proxy: kamailio 3.3
> ip network is: 192.168.122.0
>
> the setup is like the following:
>
> 101(.224) --- proxy (.32) --- 103 (.1)
>
> After all presence related db are truncated, kamailio was restart.
> then bring 101,103 online.
>
> On 101 add 103, 103 prompt up authorization window, click ok.
> now on 103, I can see 101 online status
>
> but on 101, I can not see 103 status <----the first trace file:
> the jitsi-101-add-103-confirm-2.pcap
>
> (it is grey, even manually change 103 status from online to away
> etc, on 101, the 103 always showed grey. <--- second trace file:
> jitsi-101-103-change.pcap)
>
> Please see the attached pcap files.
>
>
> the watcher table shows:
>
> id presentity_uri watcher_username watcher_domain
> event status reason inserted_time
> 1 sip:103@192.168.122.32 101 192.168.122.32 presence
> 2 1340114579
> 2 sip:101@192.168.122.32 103 192.168.122.32 presence
> 1 1340114582
the first record above shows that the status is 2, which means
'pending'. The subscription of 101 was not accepted yet by presentity 103.
For the second record, status is 1, which means active subscription.
Cheers,
Daniel
--
Daniel-Constantin Mierla - http://www.asipto.comhttp://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda
Kamailio Advanced Training, Seattle, USA, Sep 23-26, 2012 - http://asipto.com/u/katu
Kamailio Practical Workshop, Netherlands, Sep 10-12, 2012 - http://asipto.com/u/kpw