如何在 ios 中使用带有域的 pjsip 添加对 IPv6 的支持?
Posted
技术标签:
【中文标题】如何在 ios 中使用带有域的 pjsip 添加对 IPv6 的支持?【英文标题】:How to add support of IPv6 using pjsip with Domain in ios? 【发布时间】:2020-09-10 07:19:20 【问题描述】:我制作了 VOIP 应用程序。现在在 ios 代码中添加了 ipv6,但它仅使用 IP。我们使用域的 IP 的 insted 然后给我们一个错误。 错误:-“503(错误网关)。”
在下面的代码中使用了对 ipv6 的额外支持。
pj_status_t status;
pjsua_acc_config acc_cfg;
const char *uname;
const char *authname;
const char *contactname;
const char *passwd;
const char *server;
//const char *proxy;
NSLog(@"isIPv6 = %@", [[NSUserDefaults standardUserDefaults] objectForKey:@"isIPv6"]);
uname = authname = contactname = [SharedAppDelegate.username UTF8String];//[@"4069567731" UTF8String];//
passwd = [SharedAppDelegate.password UTF8String];//[@"4069567731" UTF8String];//
server = (char*)[SharedAppDelegate.baseurl UTF8String];//[@"voiceforfriends.info" UTF8String];//
NSLog(@"Name is--->%s",uname);
NSLog(@"password is-->%s",passwd);
NSLog(@"server is--->%s",server);
NSLog(@"IPv6 flag = %@", [[NSUserDefaults standardUserDefaults] objectForKey:@"isIPv6"]);
if([[[NSUserDefaults standardUserDefaults] objectForKey:@"isIPv6"] isEqualToString:@"1"])
server = [@"[2607:feb8::4:ce]:7777" UTF8String];
contactname = nil;
//pjsua_acc_config_default(&acc_cfg);
printf("1");
pjsua_acc_config_default(&acc_cfg);
所以现在我想为 ipv6 使用域而不是 Ip。
所以任何人都有解决方案然后请帮助我。
提前致谢。
【问题讨论】:
您使用的是哪个服务器? FreeSWITCH 或 Kamailio @ShahbazAbbasi 我们正在使用 freeswitch 【参考方案1】:您也可以在服务器端处理此问题。
您需要在服务器端进行两项更改。
-
配置级别
操作系统级别
1.配置级别 您需要打开 vars.xml 文件并将以下代码粘贴到该文件中。
2。操作系统级别 您需要转到此路径 /etc/hosts/ 并添加此行。
127.0.0.1 localhost yourdomain.com
注意:不要忘记将我的示例域地址替换为您的原始域地址。
【讨论】:
Shahbaz,我希望它在 iOS 的目标 c 中。 @shraddhakvaishanani 您不能在客户端执行此操作。其他解决方案是您可以使用第三方/公司通过提供域名和您的 IP 地址来为 DNS 创建条目。他们会为此向您收取少许费用。以上是关于如何在 ios 中使用带有域的 pjsip 添加对 IPv6 的支持?的主要内容,如果未能解决你的问题,请参考以下文章