Thanks for your quick reply!
Please find my answers below (comment pst)
Best regards Peter
Iñaki Baz Castillo schrieb:
El Wednesday 14 November 2007 12:12:18 Peter P GMX escribió:
Hi,
Please, don't reply a message if you are going to init a new thread, since your message appears in a thread it doesn't below to. Please, to create a NEW message press "create new mail", but never "Reply" (except if you are in fact replying to a message).
(comment pst: ok understood)
we would like to anable the client to register from 2 IP addresses but the latest register shall be used for the invite message. But the problem is - how to tell OpenSER?
A question: why exactly do you need to register a phone if it won't receive calls?
(comment pst: Firstly: A User shall only register once. But if his SIP phone crashes (that happens sometimes with this special SIP application), then he cannot register again until OpenSER detects the expiration and deregisters the phone (e.g. expires: 10 minutes). So the user cannot register within the next 10 minutes or so. So we would like to enable him to register twice: 1.) The old, dead register, which will automatically expire after some time and 2) the new one. When now an invite comes in, it shall only be sent to the 2nd register. So far it isn't complicated. BUT: He shall not be able to register simultaneously with 2 clients (no crash scenario) and receive calls on both clients. Only the last registered client shall receive calls.)
As I have read in the documnetation there are actually 2 Parameters which handles this processing modparam("registrar", "max_contacts", 2) set the number of parallel registers to 2 (forking)
modparam("registrar", "append_branches", 1)
delivers to all registered branches
modparam("registrar", "append_branches", 0)
delivers only to 1 registered branch But - which one??
I think it depends on "location" table order. Probably the one with lower "id" value.
(comment pst: See below, I checked it)
In the doumentation there is explained that one can set the q-value. As the SIP client doesn't know, how many registers already exist he can not set a dedicated q-value.
If I manually change the q-values in the database (table location) there is no change in the behaviour. I changed q value from -2 -1 to 0 and 1 and 2. no change.
For that you need to use LCR module and funtions load_contacts() and next_contacts(). Look for it in the wiki and in Google, there are some working examples.
(comment pst: I had a look at that and read: "If all contacts in the destination set have the same qvalue, load_contacts() does not do anything". So it is again the problem for me: How to set different q-values in this scenario? )
I could not determine, which rule applies, so I played with the other parameters:
§ id
§ q (as above)
§ expires
§ last_modified
No change. I can not see, that if I set one of the values to a higher or a lower value as the second register, it affects the behaviour of Openser to call a certain SIP client.
Am I think wrong or what can I do to?
I just don't understand why do you need a phone registered if it won't receive calls. I assume you know that it not necessary to be registered in order to call.
Regards.