IMS 的 P-CSCF(Proxy-Call Session Control Function)地址发现主要在建立 ims 专用 APN 的 PDN 连接时,由基带通过 NAS 信令中的 PCO(Protocol Configuration Options) 向核心网(PGW/SMF)请求并获取。
附着或建立 IMS PDN 连接时,网络在 Activate default EPS bearer context request 的 PCO 字段里下发 P-CSCF 地址(Container ID 0x000C 为 IPv6,0x000A 为 IPv4)。
在应用层或调试过程中,可以通过 3GPP 标准 AT 指令、高通 QMI 接口
AT命令
AT+CGDCONT? AT+CGCONTRDP +CGCONTRDP 按 3GPP TS 27.007 的返回格式,包含 P-CSCF: +CGCONTRDP: <cid>,<bearer_id>,<apn>,<local_addr and subnet_mask>,<gw_addr>, <DNS_prim_addr>,<DNS_sec_addr>,<P-CSCF_prim_addr>,<P-CSCF_sec_addr>, <IM_CN_Signalling_Flag>,...
其中第 8 和第 9 个字段(P_CSCF_prim_addr 和 P_CSCF_sec_addr)即为核心网分配的主、备 P-CSCF 地址。
通过 Qualcomm QMI WDS(Wireless Data Service) 查询
1. 配置 Profile 请求 P-CSCF 标志位
在发起拨号前,需确保对应 Profile 的 P-CSCF Address using PCO Flag(TLV 0x2B)在 QMI_WDS_MODIFY_PROFILE_SETTINGS 中被置为 1,或者在调用 QMI_WDS_START_NETWORK_INTERFACE 时携带请求 P-CSCF 的参数。
2. 调用 QMI_WDS_GET_RUNTIME_SETTINGS (Msg ID: 0x002D)
当 IMS 数据呼叫建立成功后,向对应 IMS 网卡关联的 QMI WDS 客户端发送 QMI_WDS_GET_RUNTIME_SETTINGS 请求,并在 Request Mask(TLV 0x10)中勾选 P-CSCF 地址标志位(Bit 11 / 0x0800 用于请求 P-CSCF 服务器地址列表)。
3. 解析返回的 TLV 字段
验证方式: 检查响应包中的以下 TLV 即可提取地址:
TLV 0x23:IPv4 P-CSCF Server Address List
TLV 0x27:IPv6 P-CSCF Server Address List
TLV 0x24:P-CSCF Server Name List(FQDN 域名形式)
MSM8916 debian
# mmcli -m 0 --create-bearer="apn=ims,ip-type=ipv4v6"
Successfully created new bearer in modem:
/org/freedesktop/ModemManager1/Bearer/2
# mmcli -b 2 --connect
successfully connected the bearer
# ------------------------------------
General | path: /org/freedesktop/ModemManager1/Bearer/2
| type: default
------------------------------------
Status | connected: yes
| suspended: no
| multiplexed: no
| interface: wwan1
| ip timeout: 20
------------------------------------
Properties | apn: ims
| roaming: allowed
| ip type: ipv4v6
------------------------------------
IPv6 configuration | method: static
| address: 2409:814e:ca88:c4c:71b9:5013:2b8e:d9f2
| prefix: 64
| gateway: 2409:814e:ca88:c4c:2f:61cd:8dc8:464c
| dns: 2409:804c:0:2000::1, 2409:804c:0:200a::1
| mtu: 1500
------------------------------------
Statistics | start date: 2026-10-17T14:33:56Z
| duration: 29
| bytes rx: 88
| attempts: 1
| total-duration: 29
| total-bytes rx: 88