Hong Nguyen, I'm forwarding your question to the dev mailing list bellow. Please do not contact me in private about ice4j development issues.
On 19.09.2012, at 06:38, hong [...] wrote:
I am a software developer in Vietnam, I am developing a sip client which communicate with microsoft lync. Now I am stuck in a problem with ICE/Turn problem. Via google, I found your ice4j project, please give me a hand if you can. The detail of problem as following:
- I want to connect to ms Turn server to get allocated port for peer to peer connection (call or send file):
step1: I login to ms sip server, and get media relay (turn server) information like:
<hostName>xxx.xxx.xxx</hostName> --> turn sever
step2: I create connection to turn server with 1st "allocate request" , server send information about none, real. Based on MS TURN specification, I created 2nd "allocate request" including HMAC information. But server return an error which said my HMAC was incorrect. I think some my inputs such as username, password was the problem in computing key: "key = MD5(username ":" realm ":" SASLprep(password))".
username = Base64.decode(username string from step 1), is it right if you have experience wit ms lync?
password = Base64.decode(password string from step 1)
the method SASLprep, i have not found an opensource yet. I saw you mentioned this in org.ice4j.attribute.MessageIntegrityAttribute.java, but didn't see the implementation of SASLprep method.
Please give me advice how to find SALprep implementation.
Thank you so much.