-
Notifications
You must be signed in to change notification settings - Fork 576
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Revert commit 4b29352e. #17
Conversation
There is no reason why we should not create new TCP Connections on notifications. Imagine an architecture with two redundant servers handling eachother part of the calls. Dialog notifications would only work when the call is going through the server which handled the subscription.
There is one really good reason NOT to do this: TCP is blocking in OpenSIPS. Most of the time it's clients connected to servers, and it's really easy to completely hog OpenSIPS by creating X subscriptions and tearing down the TCP connections. This wasn't done arbitrarily, and unless OpenSIPS is modified to have non-blocking TCP operations we cannot simply apply this. |
Then you break the module behavior as soon as a TCP connection is broken, which is a workaround more than a fix. If I was you, I would create a module option to determine the behavior to follow. |
A module parameter was my first implementation but after discussing it with @bogdan-iancu I ended up doing it like that. I'm not opposed to adding a module parameter though :-) |
Well, I was discussing this with Bogdan the other day, and he did not seem to be aware that you could not have notifications emitted by two different servers for the same presentity. I guess he will have to decide on this. Could you reopen the pull request ? One fix triggers a potential security problem, the other fix is a modifying the expected behavior of the module... |
However, thinking about it, there will only be notifications through That also means that any time a TCP connection will break, for whatever From my point of view, this is a bug... Le 16/07/13 17:29, Saúl Ibarra Corretgé a écrit :
|
The standard doesn't say the connection has to be active all the time, I didn't say otherwise. This is a workaround to help mitigate OpenSIPS hanging because all processes are blocked on TCP operations. Now, nobody who is behind NAT can receive an incoming TCP connection to handle that NOTIFY so running into this problem is very easy. Feel free to send a patch adding a module parameter for this (preserving the current behavior as default) but I'll not be reverting this patch for the reasons explained above. |
There is no reason why we should not create new
TCP Connections on notifications. Imagine an architecture with two
redundant servers handling eachother part of the calls. Dialog notifications
would only work when the call is going through the server which handled the
subscription.
If accepted, please credit Damien Sandras from Be IP s.a. @ http://www.beip.be