gpt4 book ai didi

ios - PjSip 添加多个 header

转载 作者:太空宇宙 更新时间:2023-11-04 02:08:10 29 4
gpt4 key购买 nike

我正在为 I-phone 开发一个 voip 应用程序,使用 pjsip 作为 sip 堆栈,我想添加自定义 header 我可以添加,但只有一个被添加,我卡住了我不明白有什么问题,下面是我的代码片段

pj_status_t status = PJ_SUCCESS;
pj_str_t pj_uri;

pjsua_msg_data msg_data;
pjsip_generic_string_hdr subject;
pj_str_t hvalue, hname;

pj_uri = pj_str((char *)uri);


for(NSString *key in [headers allKeys]){

NSLog(@"Call.m key value in call %@,%@",key,[headers objectForKey:key] );

pjsua_msg_data_init(&msg_data);

hname = pj_str((char *)[key UTF8String]);

char * headerValue=(char *)[(NSString *)[headers objectForKey:key] UTF8String];

hvalue = pj_str(headerValue);


pjsip_generic_string_hdr_init2 (&subject, &hname, &hvalue);
pj_list_push_back(&msg_data.hdr_list, &subject);

}


status = pjsua_call_make_call(acc_id, &pj_uri, 0, NULL, &msg_data, call_id);

最佳答案

我又一次回答了我赢的问题。

我会贴出有效的代码

pj_caching_pool cp;
pj_pool_t *pool;
pj_status_t status = PJ_SUCCESS;
pj_str_t pj_uri;

pjsua_msg_data msg_data;
pjsua_msg_data_init(&msg_data);


pj_uri = pj_str((char *)uri);


pj_caching_pool_init(&cp, &pj_pool_factory_default_policy, 0);
pool= pj_pool_create(&cp.factory, "header", 1000, 1000, NULL);

for(NSString *key in [headers allKeys]){

NSLog(@"Call.m key value in call %@,%@",key,[headers objectForKey:key] );
pj_str_t hname = pj_str((char *)[key UTF8String]);
char * headerValue=(char *)[(NSString *)[headers objectForKey:key] UTF8String];
pj_str_t hvalue = pj_str(headerValue);
pjsip_generic_string_hdr* add_hdr = pjsip_generic_string_hdr_create(pool, &hname, &hvalue);
pj_list_push_back(&msg_data.hdr_list, add_hdr);
}
status = pjsua_call_make_call(acc_id, &pj_uri, 0, NULL, &msg_data, call_id);
pj_pool_release(pool);

关于ios - PjSip 添加多个 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18309010/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com