httpclient 第一次请求失败_EPS Fallback通话结束后FR返回NR注册失败问题定位案例

在EPS Fallback测试中遇到NR注册失败的问题,原因是UE identity cannot be derived by the network。分析发现注册请求类型错误,且AMF与MME交互存在问题。解决方案是华为AMF配置4G DNS数据,以确保5G与4G网络间的移动性管理信息传递,最终现场测试数据业务恢复正常。
摘要由CSDN通过智能技术生成

前景理论目前更新4/5认证中级相关题库,变化显著;

目前前景理论根据通信行业的情况提供以下四种认证服务。

35b3eaefe6d88c24bb2edacf21fadb4e.png

【问题现象】

EPS Fallback测试过程中存在大量的NR注册失败现象,从LTE返回NR后,发起NR Registration被网络侧拒绝,原因为9(UE identity cannot be derived by the network)。

【原因分析】

无线侧信令分析如下:

1.从前台测试信令来看,UE通话结束从LTE返回NR后,发起NR Registration被网络侧拒绝,原因为9(UE identity cannot be derived by the network)。

2.对比注册失败和成功的消息,发现注册失败的请求类型为2(mobility registration updating),而注册成功的请求类型为1(initial registration)。

3.联合核心网共同排查,将EPS Fallback回落LTE的方式改为重定向,FR返回NR后注册必然失败,初步判断AMF和MME互联互通存在问题。

4.UE从4G返回5G时,在5G发起的注册请求里,携带的是之前4G分配的GUTI,AMF通过GUTI找到原来UE占用的MME,才能获取到用户在4G侧的移动性管理和会话信息,从而成功注册。

由于SA建网初期,5G的AMF和4G的DNS没有连接,依靠内置DNS数据解析,导致第一次注册失败第二次成功的问题。

【解决方案】

华为AMF添加4G DNS的局向数据后,现场测试数据业务正常。

1e21834de9759336efd7eaeb86f04416.png

748ee1298a479fbed8f642d4a96a0502.png

7334cf23c2fc86635a0e2ccae05578a0.png

以下是使用Apache HttpComponents的HttpClient库发送POST请求并获取响应的示例代码: ```java import java.io.IOException; import java.nio.charset.StandardCharsets; import org.apache.http.HttpEntity; import org.apache.http.client.methods.CloseableHttpResponse; import org.apache.http.client.methods.HttpPost; import org.apache.http.entity.ContentType; import org.apache.http.entity.StringEntity; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClientBuilder; public class HttpClientExample { public static void main(String[] args) { String url = "http://example.com/api"; // 构造POST请求 HttpPost post = new HttpPost(url); post.setHeader("Content-Type", "application/json"); // 构造JSON请求体 String requestBody = "{\"username\":\"johndoe\",\"password\":\"secret\"}"; StringEntity entity = new StringEntity(requestBody, ContentType.APPLICATION_JSON); post.setEntity(entity); // 发送POST请求 try (CloseableHttpClient httpClient = HttpClientBuilder.create().build(); CloseableHttpResponse response = httpClient.execute(post)) { // 获取响应实体 HttpEntity responseEntity = response.getEntity(); String responseBody = responseEntity != null ? EntityUtils.toString(responseEntity, StandardCharsets.UTF_8) : ""; // 输出响应信息 System.out.println("HTTP Status Code: " + response.getStatusLine().getStatusCode()); System.out.println("Response Body:\n" + responseBody); } catch (IOException e) { e.printStackTrace(); } } } ``` 在以上示例代码中,我们使用了HttpPost类来构造POST请求,设置了请求头Content-Type为application/json,并且构造了一个JSON请求体。然后使用HttpClient发送POST请求,并获取响应实体,最后输出响应信息。 需要注意的是,以上示例代码中使用了try-with-resources语句,确保HttpClient和HttpResponse对象在使用完毕后自动关闭。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值