ASN1VE软件的安装和使用

背景概要

笔者在开发5G核心网项目时,苦于没有对端RAN进行信令收发调试。调查发现,ASN1VE软件可以进行信令编码并输出二进制码流,再将该信令码流通过自研SCTP客户端发送给核心网即可触发相应流程,实现调试目的。
本文仅针对ASN1VE软件的安装和编码功能进行说明,读者亦可参考安装路径下的README.html以及其他官方说明文档。

下载和安装

【Step 1】 登录官网:ASN1VE Downloads申请期限15天的试用版本即可(土豪请忽略哈哈);本文使用的是V3.0.1.1版本,可在附录链接中获取。
ASN1VE下载和安装
【Step 2】 如果未创建账户请先填写个人信息注册,否则直接用已用账户登录即可。
【Step 3】 网页会弹出提示,会在1-2个工作日内将临时license和其他相关信息发送到注册账户邮箱。
ASN1VE下载和安装
【Step 4】 收到的邮件内容如下,提供了license和软件下载地址,登录地址下载软件到本机;本文使用的是Windows 3.0.1.1版本,即下文以该版本为例进行说明。建议记录一下注册时间,毕竟你的系统时间是可以改的,我可什么都没说哦(山人自有妙计,你是山人吗哈哈)。
ASN1VE下载和安装
【Step 5】 双击下载的asn1vePro3011x64.exe执行文件,然后傻瓜式默认安装即可,不做赘述。

编码功能使用说明

(1) 阅读须知

<1> 本文仅介绍ASN1VE软件编码信令消息功能,最终输出ASN1二进制码流。
<2> 本文使用的是TS 38.413 NGAP的ASN1构文,以INITIAL UE MESSAGE信令编码为例进行说明,且未编写Option消息内容,操作同理,举一反三。
<3> 填入INITIAL UE MESSAGE的具体值,来自于实际5G UE注册Wireshark抓包,同时也可以同Wireshark包比较检验输出码流的正确性。
<4> 本文涉及的相关文件以及ASN1VE V3.0.1.1软件包参见附录链接。

(2) 使用步骤

【Step 1】 首次启动软件,会弹框提示没有license,点击Yes。
ASN1VE使用
【Step 2】 弹出Configuration Options界面,此界面也可以通过Edit->Configure…打开;如图所示,选择并输入邮件中的license,点击Activate,再点击OK即可;后续无需再进行1-2步操作,除非软件到期重新注册。
ASN1VE使用
【Step 3】 软件界面如下,点击图示图标(或者File->New…->Message)。
ASN1VE使用
【Step 4】 选择per编码规则,并Next。
ASN1VE使用
【Step 5】 选中User schema files,点击Add添加ASN1构文文件到Schema Files列表中,点击Next;如果使用的ASN1构文文件有问题,是无法进行下一步的,此时会在右下角Error Log窗口打印出错误信息,更改错误后继续。 本文使用的是TS 38.413 NGAP的ASN1构文38413.asn,可在附录链接中获取。
ASN1VE使用
【Step 6】 选中Display all types,在Type List列表中便可以看到信令消息;在这里选择根节点NGAP-PDU,点击Finish。
ASN1VE使用
【Step 7】 默认创建了信令树和其他窗口,具体描述见下图;需要在信令树窗口创建信令消息,然后填充具体值,最终在码流输出窗口查看结果,下面具体以INITIAL UE MESSAGE为例进行说明。
ASN1VE使用
再次声明,笔者所做的事情是创建INITIAL UE MESSAGE信令,并且将Wireshark抓包的INITIAL UE MESSAGE具体IE的值填入创建的INITIAL UE MESSAGE中;Wireshark包可在附录链接获取,其结构和该软件一样,对应填充即可;需要填写的内容有
Message Type
RAN UE NGAP ID
NAS-PDU
User Location Information
RRC Establishment Cause

ASN1VE使用ASN1VE使用
【Step 8】 填写Message Type,按图示操作:
A. 选中procedureCode行,在Value下拉菜单中选中信令消息ID(此处是id-InitialUEMessage),点击Update;
ASN1VE使用
B. 弹框点击Yes即可,此处每创建一个消息都会弹出,故后续步骤不再说明;
ASN1VE使用
C. 此时可以看到,id-InitialUEMessage已经创建,且ID值变成15(0F);之所以这里没有人为填写ID值,是因为构文中有定义,每个消息的ID值是固定不变的;
ASN1VE使用
【Step 9】 继续填写RAN UE NGAP ID、NAS-PDU、User Location Information和RRC Establishment Cause等具体IE前,需要创建该信令的protocolIEs,操作如下:
A. 选中value行,点击Change Type弹框,在NGAP-PDU-Contents中找到信令名称InitialUEMessage,点击OK;
ASN1VE使用
B. 左边信令树中增加了一个protocolIEs->SEQUENCE [0],SEQUENCE可以理解成Wireshark包中的Item;对应INITIAL UE MESSAGE消息,这里需要创建4个SEQUENCE;选中左边protocolIEs行,将右边Value值设置为4,然后Update,左边信令树便会出现4个SEQUENCE,然后接下来要做的事情就是将4个消息分别填入;
ASN1VE使用
ASN1VE使用
【Step 10】 填写RAN UE NGAP ID:
A. 选中SEQUENCE [0]的id行,在Value下拉菜单中找到id-RAN-UE-NGAP-ID,点击Update;
ASN1VE使用
B. 此时id-RAN-UE-NGAP-ID已添加,继续填充其具体值;如下图所示,点击value行,然后Change Type,弹框,在NGAP-IEs中选中IE的名称RAN-UE-NGAP-ID,点击OK;
ASN1VE使用
C. 选中value->RAN-UE-NGAP-ID行,更改右侧Value值(该值来自于Wireshark抓包,此处为0),点击Update即可;
ASN1VE使用
【Step 11】 以[Step 10]中同样的方式填充其他几个IE,最终填充好的信令如下图所示,需要注意如下几点:
A. 信令的所有值都来自于Wireshark抓包;
B. 该软件信令结构和Wireshark包结构一致,可以参照Wireshark包进行创建和填充;
C. 对于NAS-PDU,Wireshark中可以解析,但是该软件中只能填写已经编好的NAS字节流,故NAS消息需要自行编写;
D. 对于Option可选类型消息,会有下图勾选窗口进行选择,其他操作类似。
ASN1VE使用
ASN1VE使用
【Step 12】 编码完成后,建议和Wireshark包比对检查;确认无误后,可以点击保存按钮,将码流存储到文件中;支持多种文件格式,这里选择的是hex文件,如下图。
ASN1VE使用
【Step 13】 继续点击Project->Save Project,将工程保存,方便下次直接打开工程文件编辑修改信令内容。

附录 相关文件链接

本文涉及的相关文件可访问该链接获取:
ASN1VE软件的安装和使用链接资源文件.7z

文件说明如下表:

文件说明
ASN1VE_Pro_Ver3001_Win64.7zASN1VE V3.0.1.1安装包和License
38413.asnTS38413构文文件
5gc_attach_pdusession_release.pcapngWireshark抓包文件
InitialUEMessage.hex输出的InitialUEMessage码流文件
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页