Linphone SDK使用(二)登錄

一嫁艇、SIP賬號登錄

_account_creator = linphone_account_creator_new(
        LC, [LinphoneManager.instance lpConfigStringForKey:@"xmlrpc_url" inSection:@"assistant" withDefault:@""]
                .UTF8String);
NSString *ip = @"SIP地址ip";
NSInteger port = @"SIP地址端口";
NSString *username = @"SIP登錄賬號";
NSString *displayName = @"SIP登錄賬號用戶名";
NSString *pwd = @"SIP登錄密碼";
NSString *domain = [NSString stringWithFormat:@"%@:%ld", ip, port];
LinphoneAccountParams *accountParams =  linphone_core_create_account_params(LC);
LinphoneAddress *addr = linphone_address_new(NULL);

linphone_address_set_username(addr, username.UTF8String);
linphone_address_set_port(addr, port);
linphone_address_set_domain(addr, ip.UTF8String);
if (displayName && ![displayName isEqualToString:@""]) {
    linphone_address_set_display_name(addr, displayName.UTF8String);
}

linphone_account_params_set_identity_address(accountParams, addr);
// set transport
// 使用UDP方式登錄
NSString *type = @"UDP";
LinphoneAddress *transportAddr = linphone_address_new([NSString stringWithFormat:@"sip:%s;transport=%s", domain.UTF8String, type.lowercaseString.UTF8String].UTF8String);
linphone_account_params_set_routes_addresses(accountParams, bctbx_list_new(transportAddr));
linphone_account_params_set_server_addr(accountParams, [NSString stringWithFormat:@"%s;transport=%s", domain.UTF8String, type.lowercaseString.UTF8String].UTF8String);

linphone_address_unref(transportAddr);


linphone_account_params_set_publish_enabled(accountParams, FALSE);
linphone_account_params_set_register_enabled(accountParams, TRUE);

// 設(shè)置ice關(guān)閉,不然通話保持后屯断,不能再次接回
LinphoneNatPolicy *policy = linphone_core_create_nat_policy(LC);
linphone_nat_policy_enable_stun(policy, FALSE); // We always use STUN with ICE
linphone_nat_policy_enable_ice(policy, FALSE);
linphone_account_params_set_nat_policy(accountParams, policy);

LinphoneAuthInfo *info =
    linphone_auth_info_new(linphone_address_get_username(addr), // username
                           NULL,                                // user id
                           pwd.UTF8String,                        // passwd
                           NULL,                                // ha1
                           linphone_address_get_domain(addr),   // realm - assumed to be domain
                           linphone_address_get_domain(addr)    // domain
                           );
linphone_core_add_auth_info(LC, info);
linphone_address_unref(addr);

LinphoneAccount *account = linphone_core_create_account(LC, accountParams);
linphone_account_params_unref(accountParams);
if (account) {
    if (linphone_core_add_account(LC, account) != -1) {
        linphone_core_set_default_account(LC, account);
        // reload address book to prepend proxy config domain to contacts' phone number
        // todo: STOP doing that!
        // 添加成功
    } else {
      
    }
} else {
  
}

通知監(jiān)聽賬號登錄成功

[NSNotificationCenter.defaultCenter addObserver:self
                                           selector:@selector(registrationUpdate:)
                                               name:kLinphoneRegistrationUpdate
                                             object:nil];
...
- (void)registrationUpdate:(NSNotification *)notif
{
    LinphoneAccount *account = linphone_core_get_default_account(LC);
    LinphoneRegistrationState state = linphone_account_get_state(account);
    switch (state) {
        case LinphoneRegistrationOk:
        {
            [self successToSipRegister];
        }
            break;
        case LinphoneRegistrationNone:
        case LinphoneRegistrationCleared:
           
            break;
        case LinphoneRegistrationFailed:
        {
            [self failedToSipRegister];
        }
            break;
        case LinphoneRegistrationProgress:
            
            break;
        default:
            break;
    }
}

二、退出登錄

[[LinphoneManager instance] removeAllAccounts];
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末侣诺,一起剝皮案震驚了整個濱河市殖演,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌紧武,老刑警劉巖剃氧,帶你破解...
    沈念sama閱讀 218,755評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異阻星,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評論 3 395
  • 文/潘曉璐 我一進店門妥箕,熙熙樓的掌柜王于貴愁眉苦臉地迎上來滥酥,“玉大人,你說我怎么就攤上這事畦幢】参牵” “怎么了?”我有些...
    開封第一講書人閱讀 165,138評論 0 355
  • 文/不壞的土叔 我叫張陵宇葱,是天一觀的道長瘦真。 經(jīng)常有香客問我,道長黍瞧,這世上最難降的妖魔是什么诸尽? 我笑而不...
    開封第一講書人閱讀 58,791評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮印颤,結(jié)果婚禮上您机,老公的妹妹穿的比我還像新娘。我一直安慰自己年局,他們只是感情好际看,可當我...
    茶點故事閱讀 67,794評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著矢否,像睡著了一般仲闽。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上僵朗,一...
    開封第一講書人閱讀 51,631評論 1 305
  • 那天蔼囊,我揣著相機與錄音,去河邊找鬼衣迷。 笑死畏鼓,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的壶谒。 我是一名探鬼主播云矫,決...
    沈念sama閱讀 40,362評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼汗菜!你這毒婦竟也來了让禀?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,264評論 0 276
  • 序言:老撾萬榮一對情侶失蹤陨界,失蹤者是張志新(化名)和其女友劉穎巡揍,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體菌瘪,經(jīng)...
    沈念sama閱讀 45,724評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡腮敌,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年阱当,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片糜工。...
    茶點故事閱讀 40,040評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡弊添,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出捌木,到底是詐尸還是另有隱情油坝,我是刑警寧澤,帶...
    沈念sama閱讀 35,742評論 5 346
  • 正文 年R本政府宣布刨裆,位于F島的核電站澈圈,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏帆啃。R本人自食惡果不足惜瞬女,卻給世界環(huán)境...
    茶點故事閱讀 41,364評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望链瓦。 院中可真熱鬧拆魏,春花似錦、人聲如沸慈俯。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,944評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽贴膘。三九已至卖子,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間刑峡,已是汗流浹背洋闽。 一陣腳步聲響...
    開封第一講書人閱讀 33,060評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留突梦,地道東北人诫舅。 一個月前我還...
    沈念sama閱讀 48,247評論 3 371
  • 正文 我出身青樓,卻偏偏與公主長得像宫患,于是被迫代替她去往敵國和親刊懈。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,979評論 2 355

推薦閱讀更多精彩內(nèi)容