jain-sip
jain-sip copied to clipboard
Disclaimer: This repository is a git-svn mirror of the project found at http://java.net/projects/jsip whose original repository is developed collaboratively by the Advanced Networking Technologies Div...
Currently the branchId is assumed case insensitive, but this leads to severe performance problems due to toLowerCase extensive usage.
Performance is degraded since case insensitive matching is be done through String.toLoweCase which makes a new copy in memory. A char by char comparison would be better, preventing copy operations....
App send INVITE and receives 100, 183 and UPDATE in short time. Sometimes UPDATE handling ends with "sipServerTransaction::sendMessage SIP/2.0 481 Call leg/Transaction does not exist". According to logs UPDATE handling...
Including TCP/UDP/TLS.. processors Specially UDP since its not even NIO now
there is no equals impl avaialble hashCode is based in callId, which is not correct. from/to tag must be used as stated by RFC at http://www.tech-invite.com/y30/tinv-ietf-rfc-3261-4.html#e-12
This is fundametally wrong, and can potentially create incorrect logic, and make collections containing SIPMessage to perform poor. This needs to be addressed ASAP. Proposal on new impl is to...
WS transport should work through state machine instead sleep timeout because we can have problem if channel will be slow. https://github.com/RestComm/jain-sip/blob/master/src/gov/nist/javax/sip/stack/NioWebSocketMessageChannel.java#L158
Current SIPHeader implementation takes headerName for hashCode, this will certainly creates lots of collisions when added to collections. While equals implements a deep equals (compare all fields/attributes) logic using reflection....
Current implementation relies on Synchronize section over the whole map. Ideally, CHM.putIfAbsent would be better, so connections to different IP/port are not synced