I've been using OpenSER 1.0.1 for the past couple of years, but I now
need to add CNAM lookups. It looks like the presence module might be
what I need, although from the looks if it, it's made to respond to
lookups, instead of actually generate a query to another server for a
lookup.
I'm looking at doing CNAM lookups with Verisign which look to
interface with a SUBSCRIBE message, in which in return Verising sends
back a NOTIFY message with one of the fields being "calling-name" which
has the CNAM info in it.
Has anyone been succesful in implementing such a lookup with Verisign or
another CNAM database provider?
Brian
Hi all,
I´m trying to use SER (SIP Express Router) in a linux enbedded system with
uClinux. In my enbedded processor i dont have any MMU so it cant fork(), it
uses vfork() that is a cousin of fork but diferent because qhen father vfork a
child, stops until the child make execve() or exit. When I run SER on my
embedded plataform in a debug mode it shows me:
ERROR: main_loop can´t fork();
Then I try to chage all forks for vfork() but it still not working due to the
childs never make execve().
And after the explain of the context, here is the question: can I run SER
without any child? Can I run SER without making any fork? I mean that only ONE
process (witout deamonize) will run alone. I don´t need to manage more than 1
call...I only want to have one process listening to ONE IP.
I have try to change the configuration of the ser 'ser.cfg' asi show:
fork=no
childrens=0
But still without working and i´m not sure if this is the right way to run SER
without forking...
Thank you for you support.
Samuel.
--
Thanks for your reply.
I'm agree with your observations. I had already tried to solve the situations as described in the draft (avoiding spiral) and I have built a configuration that seem to work, at least for the basic call, but my solution needs to much tricks and I'm not sure that what I have done is safe and if it works in more complex call flows.
I set the IP address in Record Route depending on position public\private of the callee and I substitute the IP address in Record Route for each reply, when it needs.
First of all I suppose to know if the caller and callee is private or public (I check if the Request URI domain with RFC 1918) and I don't know if this is right.
Then there is the problem to write the record route. I have moved the record route section in a branch route, because here I know the final destination for each branch.
Here there is another doubt: I rewrote the record_route_preset function in order to remove the limit of one record route because in parallel forking I set more than record for each transaction, one record route for each branch. What are the consequences? I risk "only" to loose a call or to kill the proxy?
I would prefer to leave the record route section at the beginning, but is it possible to substitute the record route after it is added? I remember that is possible to change only the original message and that there are some limitations on the possibility to change an header added during the message processing (I had some segmentation faults when I tryed with a custom header).
Just now I'm looking on what to do with a relay from the failure route to a second destination.
Before I proceding on this way I would like to know if I'm going on the wrong direction and if someone has found a simpler solution with this kind of scenarios.
Regards,
Daniele
> Date: Wed, 22 Oct 2008 19:02:35 +0200
> From: " I?aki Baz Castillo " <ibc(a)aliax.net>
> Subject: Re: [Kamailio-Users] Record Route and proxy behind static NAT
> Cc: users(a)lists.kamailio.org
> Message-ID:
> <cc1f582e0810221002i7c95570epf585456a248811d1(a)mail.gmail.com>
> Content-Type: text/plain; charset=UTF-8
> The solution could be adding two Record-Routes, one with private IP
> and the other with public IP, but I'm not sure of how to achieve it
> with Kamailio. AFAIK Kamailio *already* does it when the transaction
> comes via eth0 and leaves the proxy via eth1, but this is not your
> case.
> I recommend you reading this draft, and later trying to get it in Kamailio:
> http://tools.ietf.org/html/draft-ietf-sip-record-route-fix
> (5. Double Record-Routing)
**********************************************************************
The information in this message is confidential and may be legally
privileged. It is intended solely for the addressee. Access to this message
by anyone else is unauthorized. If you are not the intended recipient, any
disclosure, copying, or distribution of the message, or any action or
omission taken by you in reliance on it, is prohibited and may be unlawful.
Please immediately contact the sender if you have received this message inerror.
**********************************************************************
Hi
I was wondering how to achieve an architecture with two or more active
load-balancer nodes (kamailio+dispatcher module).
I have read how to setup two dispatcher nodes, one node as a master and the
other one as a backup.
The backup node doesn't process any traffic until master fails. But how to
make the traffic being processed by both load-balancers ? In the case for
instance the capacity of single node is not enough to process all incoming
traffic. Is there any recommended configuration (eg. using frontal
application-level swith)
Regards,
Pascal
On 10/23/08 15:05, Pascal Maugeri wrote:
>
> On Thu, Oct 23, 2008 at 1:47 PM, Daniel-Constantin Mierla
> <miconda(a)gmail.com <mailto:miconda@gmail.com>> wrote:
>
> Hello,
>
> a solution I am using is to do shared IP (vrrp/ucarp). The typical
> scenario is active-backup, when one share IP is used.
>
> But you can do active-active by using two shared IP addresses, so
> will be
>
> server1: active_ip_1 - backup_ip_2
> server2: backup_ip_1 - active_ip_2
>
> So each server is active and backs-up the other. This can be
> scaled, with more than 2 servers, you need an IP per server, and
> you will have a chain of active servers backing up next one. Based
> on who is backing up who, you may have one or more servers down
> without affecting the service
>
> You have to take care of balancing the traffic among the IP addresses.
>
>
> OK but how do you share traffic among the IP addresses ? You need a
> kind of super load-balancer that load-balance traffic among
> load-balancers ?
one way you can do it is via DNS.
Daniel
> -pascal
>
>
>
>
> Cheers,
> Daniel
>
>
>
> On 10/23/08 13:16, Alex Balashov wrote:
>
> Any "frontal application-level switch" would simply have the
> same liability.
>
> Kamailio is a very high-throughput proxy that can handle huge
> amounts of call setups per second. I think you can count on that.
>
> Failing over around the load balancer node to a secondary load
> balancer or distributing the traffic among multiple load
> balancers is a job best left to the sending endpoint. For
> example, a DID origination provider's switch or SBC can be set
> up to fail over calls to a different IP endpoint for your SIP
> trunk if no response is received within a certain amount of
> time. That is how this is typically done. At some point
> you've got to say that you've done all you can do, and it's up
> to the other side.
>
> Pascal Maugeri wrote:
>
>
>
> Hi
>
> I was wondering how to achieve an architecture with two or
> more active load-balancer nodes (kamailio+dispatcher module).
>
> I have read how to setup two dispatcher nodes, one node as
> a master and the other one as a backup.
>
> The backup node doesn't process any traffic until master
> fails. But how to make the traffic being processed by both
> load-balancers ? In the case for instance the capacity of
> single node is not enough to process all incoming traffic.
> Is there any recommended configuration (eg. using frontal
> application-level swith)
>
> Regards,
> Pascal
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Users mailing list
> Users(a)lists.kamailio.org <mailto:Users@lists.kamailio.org>
> http://lists.kamailio.org/cgi-bin/mailman/listinfo/users
>
>
>
>
>
>
>
> --
> Daniel-Constantin Mierla
> http://www.asipto.com
>
>
--
Daniel-Constantin Mierla
http://www.asipto.com
I have noticed a consistent difference between the location records OpenSER
has cached and those stored in the database.
e.g.
openserctl ul show --brief
database engine 'MYSQL' loaded
Control engine 'FIFO' loaded
entering fifo_cmd ul_dump brief
Domain:: location table=512 records=19 max_slot=2
Compared to:
select count(*) from ser.location;
+----------+
| count(*) |
+----------+
| 10 |
+----------+
1 row in set (0.00 sec)
This difference is consistent over time.
When I look at the database logs OpenSER is trying to update an existing
record in the database which, for some reason, doesn't exist.
Our config has the following relevant parameters
modparam("usrloc", "db_mode", 2)
Openser 1.3.2
Any thoughts on how to prevent this circumstance from occurring and how to
synchronise the cache with the db in an orderly manner? I had thought that
after 120 seconds (timer_interval default)this would happen but it doesn't
seem to.
Any advice appreciated.
Regards
Cameron