Authentication APN认证检测方法

Authentication APN认证检测方法,authentication,gprs,ppp,apn,pdp,Authentication,Gprs,Ppp,Apn,Pdp,我正在做一个涉及GPRS的项目。我特别使用u-blox Lisa-U200 GPRS/GSM芯片。当我开始用不同的运营商测试PDP时,它遇到了一个问题。在谷歌上呆了几天之后,我似乎在任何地方都找不到答案 为什么有些电话/设备需要APN身份验证(PAP/CHAP/None),而有些则不需要?或者,正如我所提出的问题——移动设备(智能手机)如何自动检测APN身份验证方法?或者他们真的这样做了 我测试它的方法是这个Linux机器,用聊天脚本运行pppd。聊天脚本定义上下文(AT+CGDCONT=1,“

我正在做一个涉及GPRS的项目。我特别使用u-blox Lisa-U200 GPRS/GSM芯片。当我开始用不同的运营商测试PDP时,它遇到了一个问题。在谷歌上呆了几天之后,我似乎在任何地方都找不到答案

为什么有些电话/设备需要APN身份验证(PAP/CHAP/None),而有些则不需要?或者,正如我所提出的问题——移动设备(智能手机)如何自动检测APN身份验证方法?或者他们真的这样做了

我测试它的方法是这个Linux机器,用聊天脚本运行pppd。聊天脚本定义上下文(AT+CGDCONT=1,“IP”等)并启动连接

症状——如果我没有在PDP上下文中明确指定身份验证方法,它甚至不会激活(或者ppp中LCP协商失败)。从我对GPRS网络的了解来看,这是有意义的——我想这是因为网关节点拒绝上下文,如果它不表示将进行身份验证

测试了几个操作符,最奇怪的是,我测试的一些操作符只有在我将其设置为PAP或CHAP(并提供正确的用户名和密码)时才能工作。还有一些是我指定的(NOAUTH、错误的用户/密码等)

到目前为止,我的想法是:

1) 为用户提供选择身份验证类型的选项。(这不是我喜欢的方法,因为我希望用户尽可能少地输入。)

2) 如果用户为APN设置了用户名/密码,请将auth方法设置为CHAP(我注意到大多数操作员同时支持CHAP和PAP)。如果不是,则使用“无”作为方法。(听起来很合理?)

3) 暴力-设置为CHAP,激活-观察错误;如果失败-设置为PAP并激活等。。。(不能说我对此感到太高兴)

请原谅,如果我回答了一个非常愚蠢和常见的问题,并给出了移动行业众所周知的答案,或者我在这里的逻辑完全偏离了轨道,但我是一名软件开发人员,这对我来说毫无意义:)


感谢所有在这个话题上分享经验和知识的人

运营商是不同的,他们的接入点和安全限制也是不同的。就像有些电子邮件提供商需要SSL加密,有些则不需要。我目前正在寻找一个类似的解决方案(如何或多或少自动找到使用哪种APN)。我猜这就是为什么大多数提供商提供配置消息的原因……这是一个非常古老的问题,我已经忘记了事情最终是如何发展的。我认为我们为用户提供了手动配置的选项。我也不太喜欢配置消息-你不知道它们是否会被发送,它们是否会遵循一些标准格式,等等。可能有一种方法,只是没有弄清楚。我最终得到了一个巨大的查找表。使用远程有用的语言,您可以按国家/地区代码预先排序,这使搜索树非常方便。:)