Hi,
I evaluated the dmq_usrloc module, and it works pretty good if there are two identical machines which replicate their location with each other. But what I actually want to do is to send registrations to an extra machine which is just there for writing the location into a central DB (in one table for all the registrars), from where it can be accessed (by a web page for example).
So for example, I have three machines, registrar 1 and registrar 2, and receiver. receiver will never interact with customers. It is just there for writing the location into the database.
I configured both registrars to send their packets to receiver, and I configured the receiver to send its packets (which it actually never does) to a dns name containing both registrars. But after reading the content of some PING messages and reading something about "autodiscovery" of dmq on the mailing list, I'm not sure whether my scenario will work the way I want it to.
Can somebody explain whether I can use dmq_usrloc for this purpose? Or is it only intended to be used for bidirectional replication?
Best Regards, Sebastian
Hello,
iirc, if one node doesn't handle a SIP register itself, should not publish to other nodes anything. Is this what you are looking for -- one node not to send to the others?
Cheers, Daniel
On 20/10/15 17:24, Sebastian Damm wrote:
Hi,
I evaluated the dmq_usrloc module, and it works pretty good if there are two identical machines which replicate their location with each other. But what I actually want to do is to send registrations to an extra machine which is just there for writing the location into a central DB (in one table for all the registrars), from where it can be accessed (by a web page for example).
So for example, I have three machines, registrar 1 and registrar 2, and receiver. receiver will never interact with customers. It is just there for writing the location into the database.
I configured both registrars to send their packets to receiver, and I configured the receiver to send its packets (which it actually never does) to a dns name containing both registrars. But after reading the content of some PING messages and reading something about "autodiscovery" of dmq on the mailing list, I'm not sure whether my scenario will work the way I want it to.
Can somebody explain whether I can use dmq_usrloc for this purpose? Or is it only intended to be used for bidirectional replication?
Best Regards, Sebastian
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
Hi,
I did see that REGISTERs received via DMQ are not replicated. What I was wondering is, whether registrar 1 at some point discovers registrar 2 through the DMQ pings, and then "automagically" starts replicating its packets to registrar 2, too.
Best Regards, Sebastian
On Tue, Oct 20, 2015 at 5:32 PM, Daniel-Constantin Mierla <miconda@gmail.com
wrote:
Hello,
iirc, if one node doesn't handle a SIP register itself, should not publish to other nodes anything. Is this what you are looking for -- one node not to send to the others?
Cheers, Daniel
On 20/10/15 17:24, Sebastian Damm wrote:
Hi,
I evaluated the dmq_usrloc module, and it works pretty good if there are two identical machines which replicate their location with each other. But what I actually want to do is to send registrations to an extra machine which is just there for writing the location into a central DB (in one table for all the registrars), from where it can be accessed (by a web page for example).
So for example, I have three machines, registrar 1 and registrar 2, and receiver. receiver will never interact with customers. It is just there for writing the location into the database.
I configured both registrars to send their packets to receiver, and I configured the receiver to send its packets (which it actually never does) to a dns name containing both registrars. But after reading the content of some PING messages and reading something about "autodiscovery" of dmq on the mailing list, I'm not sure whether my scenario will work the way I want it to.
Can somebody explain whether I can use dmq_usrloc for this purpose? Or is it only intended to be used for bidirectional replication?
Best Regards, Sebastian
Hello,
not that familiar with the dmq code to assert something by hart, but you can always prevent any incident by capturing the SIP packet inside config file and reply from there instead of handling it with dmq module (if(method==...) ).
Cheers, Daniel
On 21/10/15 09:49, Sebastian Damm wrote:
Hi,
I did see that REGISTERs received via DMQ are not replicated. What I was wondering is, whether registrar 1 at some point discovers registrar 2 through the DMQ pings, and then "automagically" starts replicating its packets to registrar 2, too.
Best Regards, Sebastian
On Tue, Oct 20, 2015 at 5:32 PM, Daniel-Constantin Mierla <miconda@gmail.com mailto:miconda@gmail.com> wrote:
Hello, iirc, if one node doesn't handle a SIP register itself, should not publish to other nodes anything. Is this what you are looking for -- one node not to send to the others? Cheers, Daniel On 20/10/15 17:24, Sebastian Damm wrote:
Hi, I evaluated the dmq_usrloc module, and it works pretty good if there are two identical machines which replicate their location with each other. But what I actually want to do is to send registrations to an extra machine which is just there for writing the location into a central DB (in one table for all the registrars), from where it can be accessed (by a web page for example). So for example, I have three machines, registrar 1 and registrar 2, and receiver. receiver will never interact with customers. It is just there for writing the location into the database. I configured both registrars to send their packets to receiver, and I configured the receiver to send its packets (which it actually never does) to a dns name containing both registrars. But after reading the content of some PING messages and reading something about "autodiscovery" of dmq on the mailing list, I'm not sure whether my scenario will work the way I want it to. Can somebody explain whether I can use dmq_usrloc for this purpose? Or is it only intended to be used for bidirectional replication? Best Regards, Sebastian
Hi,
when inspecting dmq a bit further, I found that in fact there is an autodiscovery built in. When I told registrar 1 and registrar 2 to send to receiver, and told receiver to only send to itself, everything worked. Until the receiver went offline. Then it got disabled by the registrars and no packets got replicated anymore after it came back online until the registrars were restarted, too.
Since we don't want this situation, I told the receiver to send to a dns record containing all registrars. This way, after the receiver came back up, the registrars got notified and started replicating their usrloc again. But they didn't send to the receiver only, but also to the other registrar.
Since we have quite an amount of registration traffic on the registrars (and actually there are more than two of them), we don't want to send this traffic multiple times through our network.
Is there any way we can force the dmq module to send only to the configured receiver?
Best Regards, Sebastian
Hello,
On 27/10/15 12:17, Sebastian Damm wrote:
Hi,
when inspecting dmq a bit further, I found that in fact there is an autodiscovery built in. When I told registrar 1 and registrar 2 to send to receiver, and told receiver to only send to itself, everything worked. Until the receiver went offline. Then it got disabled by the registrars and no packets got replicated anymore after it came back online until the registrars were restarted, too.
Since we don't want this situation, I told the receiver to send to a dns record containing all registrars. This way, after the receiver came back up, the registrars got notified and started replicating their usrloc again. But they didn't send to the receiver only, but also to the other registrar.
Since we have quite an amount of registration traffic on the registrars (and actually there are more than two of them), we don't want to send this traffic multiple times through our network.
Is there any way we can force the dmq module to send only to the configured receiver?
I guess a patch to add a mod parameter to control this behaviour needs to be done. I expect to not be something complex to implement.
Cheers, Daniel