2017-05-25 42 views
4

我正在使用PJSIP開發iOS應用程序。我想通過PJSIP發送註冊信息。我在用戶名中有@,例如[email protected]如何在發送REGISTER消息的同時在PJSIP庫的FROM和TO頭URI的用戶名參數中編碼「@」特殊字符?

我編碼@%40和添加的帳戶的用戶名作爲%nandha和40gmail.com SIP URL作爲SIP:nandha%[email protected]:2020

我將用戶名和SIP網址傳遞給PJSIP。帳戶已成功添加,但無法將任何註冊消息發送到服務器。

我認爲它已經添加了編碼的用戶名和SIP網址。發送註冊消息時,它解碼的值作爲nandha @ gmail.com @ 142.23.16.20:2020和它之後進行IP PORT值@符號,等作爲[email protected]:2020

爲什麼PJSIP在編碼用戶名時沒有發送REGISTER消息?

回答

1

據我所知,PJSIP,同時分開用戶名@ sipIP自動解碼編碼的字符:端口

0

那麼你可以通過兩種方式做到這一點,

首先

[[NSString stringWithFormat:@"<sip:%[email protected]%s:%s;transport=%s>", number, server, port, transport] UTF8String]; 

pj_ansi_snprintf(acc_cfg.id.ptr, PJSIP_MAX_URL_SIZE, "<sip:%[email protected]%s;transport=%s>", uname, server, transport); 
+0

我知道如何分隔sip URI ,但是在用戶名中包含「@」特殊字符的情況下,如何在使用PJSIP的時候爲用戶分配特殊字符。它不會註冊,因爲它不知道如何分隔,並且PJSIP不支持具有特殊字符的用戶名。如果你找到解決這個問題的方法,請在下面指定。那麼當然,我會接受作爲答案。 – NandhaKumar

相關問題