I would like to start a discussion about federated voip.
The wikipedia article, for what its worth is at https://en.wikipedia.org/wiki/Federated_VoIP
I disagree with some of the requirements in the article primarily because they are barriers to entry
I think federated voip adoption has been stymied by these requirements.
enum is a single point of failure and is not required.
TLS is a barrier to entry and removes the individual's anonymity.
Here is starting point for a usage model I propose.
Your input is requested.
------------------------------------------------------------------------
alice@sip.atlanta.com calls bob@sip.biloxi.com
Alice's sip client sends a call request to sip.biloxi.com
sip.biloxi.com looks up Bob's contact address to send the call request to Bob's phone.
URI's look like sip:alice@sip.atlanta.com which should be intuitive to anymone who has used the internet.
The key point is only the callee's server is involved, not the caller's.
Server considerations
The server MAY be a proxy or B2BUA.
The server MUST be a registrar.
No PKI or enum is required.
The server MAY stay in the signalling path but SHOULD not be in the media path.
Removing the server from the media path makes the server much more scalable and reduces media latency for the users.
For maintenance and billing purposes logs and CDR's that contain user information MAY be generated.
The server is not required to support ICE or any nat traversal unless it is a media endpoint
TCP
MUST be used for signalling to avoid fragmentation issues.
TCP keeps the NAT pinhole open whereas UDP often times out.
Spam
System wide blacklist
User specific
whitelist
blacklist
time of day filter
User considerations
NAT traversal
ICE support is required at the client side for NAT traversal.
TCP MUST be used for signalling.
Privacy
Assume the server retains logging information about calls.
ZRTP
Using ZRTP assures the privacy of the actual conversation.
Unless of course you don't use it or some hacker(s) breaks ZRTP.
Security
?
Why no pki
?
Other
It is hoped that the decentralized nature of the system keeps things simple and open.
↧