On Fri, 2008-10-24 at 14:17 -0400, Dale Worley wrote:
> Let me try to summarize requirements for Call-Ids:
> 
> - Be able to operate without the application declaring the local
> address.  (We should probably handle this by maintaining the current
> format if the application does not provide an address.)
> 
> - Include at least 32 bits of crypto randomness, so Call-Ids can't be
> guessed.
> 
> - Include in a way that a human can easily visually extract a part that
> is unique in ordinary use.
> 
> - If the application provides it, append address/port (or host/port), to
> provide traceability in the expected way.
> 
> - Provide global (probabalistic) uniqueness.
> 
> - No longer than necessary.
> 
> So if an address is provided, we can go to the format:
> 
> [EMAIL PROTECTED]
> 
> Assuming the average IP address has 8 digits, this is 4 characters
> longer than the current format.  If we remove the initial "s-", it is 2
> characters longer.

You could shorten it further by replacing the hex encoding of the random
portion with base64 encoding.

 *    base64(x)
 *       is the NetBase64Codec encoding, which uses the
 *       following alphabet to encode each 6 bit sequence:
 *          ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=

We'd need to extend that class to allow a different alphabet, since "/"
is not valid in a call-id, but that's easy.




_______________________________________________
sipx-dev mailing list
[email protected]
List Archive: http://list.sipfoundry.org/archive/sipx-dev
Unsubscribe: http://list.sipfoundry.org/mailman/listinfo/sipx-dev

Reply via email to