具体实施方式
在开始对本发明的详细描述之前,先进行如下说明。在适当时,在不同的附图中,相似的标号和字符可被用来标记相同、相应或类似的组件。此外,在下面的详细描述中,可能给出示例性的大小/值/范围,但是本发明并不限于此。本发明还适用于与所有类型的电信网络一起使用,所述电信网络例如是综合系统数字网(ISDN)、语音IP(VoIP)网络、因特网或移动电话网络(例如基于电信工业联合会(TIA)/电子工业联合会(EIA)标准,例如IS-95、IS-856或IS-2000),例如时分复用(TDMA)网络、码分多址(CDMA)网络、宽带码分多址(W-CDMA)网络、全球移动通信系统(GSM)网络、通用分组无线业务(GPRS)网络或全球移动电信系统(UMTS)网络,以及随着技术的发展而可能变得可用的下一代无线网络,所述下一代无线网络包括用于无线数据服务和应用(例如无线email、web、数字图片拍摄/发送和GPS辅助定位应用)的CDMA技术,还包括兼容的网络协议(例如超文本传输协议(HTTP)、文件传输协议(FTP)、VoIP协议和由3GPP组定义的UMTS协议(见http://www.3gpp.org))。但是,为了简明起见,以下的讨论将主要集中于UMTS移动网络的示例性使用,但是本发明的范围并不仅限于此。
现在参考图1,其示出了移动电话网络的一个示例,例如全球移动电信系统(UMTS)网络。如图1所示,移动电话网络100包括核心网络110,其支持例如公共交换电话网络(PSTN)120这样的电路交换网络,和/或例如因特网核心IP 130这样的分组交换网络;无线电接入网140,其连接到核心网络110,以支持与一般是移动电话、视频电话或个人数字助理(PDA)的用户设备(UE)150的通信。一般地,核心网络110包含支持经由例如PSTN 120这样的电路交换网络的通信的移动交换中心(MSC)(未示出),还包含一个或多个支持节点(未示出),所述支持节点提供到例如因特网核心IP 130这样的分组交换网络的网关并控制网络与用户设备(UE)150之间的用于无线通信的连接。无线电接入网140包括一个或多个节点“B”(也称为基站)142A-142N,还包括一个或多个无线电网络控制器(RNC)144A-144N,所述无线电网络控制器连接到节点142A-142N的局部群组,以便选择用于用户设备(UE)150的最合适节点,并在无线通信期间在有必要时执行移交。UMTS网络100的网络体系结构和实现是公知的,其包括:骨干ATM交换机;例如部署在RNC144A-144N和核心网络110之间的“lu”、部署在RNC 144A-144N之间的“lur”、部署在RNC 144A-144N和相应节点142A-142N之间的“lub”这样的接口;UMTS网络100中的节点和网络元件之间的信令链路;以及在信息链路之间传递的信令信息,因此在这里无需进行详细描述。但是,为了简明起见,信令信息代表与网络100的功能的建立、控制和管理有关的数据。例如特定呼叫的呼叫细节记录(CDR)或特定数据会话的事务细节记录(TDR)这样的细节记录可从移动电话网络100中信令链路之间传输的信令信息构建。术语“CDR”和“TDR”在这里公开的移动电话网络100的上下文中可被视为可互换的。类似地,术语“呼叫”和“数据会话”也可被交换使用,而且可被广义地简述为“事务”。
类似地,CDR在电信工业中可具有不同的结构或格式,依赖于CDR将被用于什么用途(例如定义电话发起于陆上线路电话、电话终止于陆上线路电话和电话终止于移动电话),每种结构或格式都包含不同类型的信息。但是,为了简明起见,这里提到的CDR将代表一般CDR。术语“CDR”总地指关于呼叫细节的任何电子记录,例如包括发起号码、终止号码、时间、持续时间等。具体而言,每个CDR可与一个消息集合相对应,所述消息集合包括与每个呼叫相关联的参数和时间戳,其提供了与呼叫的源、目的地和其他细节有关的细节。与每个消息相关联的参数和时间戳或被称为“CDR”的信息集合是确定谁呼叫谁、呼叫被如何路由以及呼叫部署以便进行信令分析所需的主要信息。这些CDR可被监视和分析以用于多种应用,例如包括服务质量应用和商业智能应用,例如服务保障、欺诈检测、开通和计费应用。
如图1所示,监视系统160可被配置为捕捉移动电话网络100中的关键接口(例如“lub”接口和“lu”接口)上或其他信令链路上的流量(包括信令数据),以用于对移动电话网络100的信令分析。这种监视系统160可被直接或经由局域或广域网(LAN/WAN)耦合到接口(例如连接RNC 144A-144N中的一个到节点142A-142N中的至少一个的“lub”接口,或连接RNC 144A-144N到核心网络110的“lu”接口)或ATM交换机,以捕捉特定接口或信令链路处的信令数据,并提供捕捉到的信令数据以用于计算机(数据库)系统170的分析或收集。监视系统160例如可以是AGILENTTM G6801A Distributed Network Analyzer(DNA),用于捕捉例如来自与单个呼叫或数据会话有关的特定信令链路(即移动电话网络100内的接口)的所有信令数据,还用于控制用于实时网络测试和分析(包括服务质量诊断和故障排查)的信令数据分发。此外,例如AGILENTTM J7326A Signaling Analyzer software(SAS)这样的软件应用也可被安装在计算机系统170(可以是独立服务器或主机计算机系统)上,以在本地对捕捉到的信令数据进行解码和分析,同时进行实时显示。SAS还可被安装在监视系统160上或任何计算系统(例如外部PC、膝上型计算机或耦合到局域网(LAN)的服务器)上。捕捉到的信令数据可代表大量呼叫/会话,并且能经由用户可配置的窗口或表格式而被可视地显示,从而用户(即网络管理员或维护人员)可跟踪移动电话网络100上已发生的每个呼叫或正在发生的呼叫。
一般地,监视系统160创建细节记录(例如CDR),其通过将经由移动电话网络100传送的传入数据流的各个帧接合在一起而组装得到所述细节记录。然后,这些CDR可被保存以用于后续的信令分析,可以意识到在信令分析之前潜在地留下了很长时间,响应于信令分析可以采取补救动作。但是,当在等待CDR被存储以用于分析之后查看监视系统160和/或计算机系统170中的呼叫时,当移动电话网络100出现问题时,用户(即网络管理员或维护人员)一般不能采取即时矫正动作。此外,用户(即网络管理员或维护人员)还可能被移动电话网络100中可能发生的大量呼叫淹没。
例如,图2A-2B示出了在计算机系统170上从移动电话网络100中的不同信令链路(监视点,例如接口或交换机)获得的不同类型的呼叫细节记录(CDR)的视觉显示。具体而言,图2A示出了从部署在移动电话网络100的无线电接入网(RAN)140的RNC 144A-144N和核心网络110之间的“lu”接口获得的示例性CDR的视觉显示。可替换地,图2B示出了从部署在移动电话网络100的无线电接入网(RAN)140的RNC144A-144N和相应节点142A-142N之间的“lub”接口获得的示例性CDR的视觉显示。
如图2A和2B所示,数据库系统170上的显示中的每一行代表移动电话网络100上已发生或正在发生的呼叫。每一列包含专用于可能指示特定问题的特定呼叫跟踪的参数。如图2A所示,用于“lu”接口的参数例如可包括呼叫ID、持续时间、状态、开始时间、建立原因、IMSI、IMEI、最老的TMSI/P-TMSI、最近的TMSI/P-TMSI、SAI LAC、SAI SAC、RAC、被叫方BCD号、主叫方BCD号、服务类型、域、SCCP释放原因、RANAP原因、建立时间、拆除(cleardown)时间、话音路径/CID、坏话音帧、IPv4地址、上行链路分组、下行链路分组、上行链路八位组、下行链路八位组、上行链路速率bp/s和下行链路速率bp/s。类似地,如图2B所示,用于“lub”接口的参数例如可包括呼叫ID、持续时间、状态、开始时间、建立原因、IMSI、IMEI、最老的TMSI/P-TMSI、最近的TMSI/P-TMSI、节点B CommCtx ID、CRNC CommCtx ID、S-RNTI、SRNC标识、LAC、RAC、小区标识符、服务类型、域、SCCP释放原因、RANAP原因、建立时间、拆除(cleardown)时间、话音路径/CID、坏话音帧、IPv4地址、上行链路分组、下行链路分组、上行链路八位组、下行链路八位组、上行链路速率bp/s和下行链路速率bp/s。
“呼叫ID”可代表特定呼叫的唯一标识符;“持续时间”可代表已完成呼叫的持续时间;“状态”可代表呼叫是活动的还是终止的。“开始时间”可代表呼叫的开始时间;“IMSI”可代表发起呼叫的订户的国际移动订户标识;“IMEI”可代表设备制造商的国际移动设备标识;“最老的TMSI/P-TMSI”可代表临时移动订户标识(TMSI)和分组TMS;“最近的TMSI/P-TMSI”可代表最近的TMSI和分组TMSI;“SAI LAC”可代表区域码的服务区域标识符:“SAI SAC”可代表路由选择区域码的服务区域标识符;“被叫方BCD号”可代表被叫方二进制编码的十进制号码;“主叫方BCD号”可代表主叫方二进制编码的十进制号码;“节点B CommCtx ID”可代表节点B中通信上下文的标识符;“CRNCCommCtx ID”可代表无线电网络控制器(RNC)中节点B的通信上下文标识符;“S-RNTI”可代表服务无线电网络临时标识;“SRNC标识”可代表服务无线电网络控制器标识;“LAC”可代表标识移动网络100中的区域的区域码;“RAC”可代表区域中的路由选择区域码;“小区标识符”可代表一个无线电网络控制器(RNC)中的小区标识符;“服务类型”可代表在呼叫期间发生的服务类型;“域”可代表在其中传输呼叫的网络类型:电路交换(CS)网络还是分组交换(PS)网络;“释放原因”可代表呼叫被释放的标准;“RANAP原因”可代表原因的文本描述;“建立时间”可代表建立呼叫或会话所需的时间;“拆除时间”可代表拆除呼叫或会话所需的时间;“话音路径/CID”可代表用于呼叫的VCI/CID;“坏话音帧”可代表在呼叫期间检测到的坏话音帧的数量的计数,其指示呼叫期间呼叫期间语音呼叫的质量水平;“IPv4地址”可代表因特网协议版本#4地址;“上行链路分组”可代表数据会话期间,用户设备(UE)已向移动网络100发送的IP分组数量的计数;“下行链路分组”可代表在数据会话期间,用户设备(UE)110已从移动网络100接受的IP分组的数量的计数;“上行链路八位组”可代表数据会话期间,用户设备(UE)110已向移动网络100发送的IP八位组数量的计数;“下行链路八位组”可代表在数据会话期间,用户设备(UE)已从移动网络100接受的八位组的数量的计数;“上行链路速率bp/s”可代表用户设备(UE)110在向移动网络100发送数据时经历到的以比特/秒为单位平均数据传输速率;“下行链路速率bp/s”可代表用户设备(UE)110在从移动网络100接收数据时经历到的以比特/秒为单位平均数据传输速率。
如从图2A-2B所示,从移动电话网络100中的不同信令链路(即接口)获得的呼叫和呼叫ID变量可能是不同的;但是,这些呼叫可能具有共同的特性,例如:呼叫类型;开始时间;结束时间;成功或失败理由,所有这些(不论是来自一个还是多个信令链路)都可被分析,以识别和指明移动电话网络100中的问题。但是,用户必须筛掉大量在移动电话网络上传送的呼叫,然后在已终止呼叫的捕捉到的数据可被保存和随后被分析之前潜在地等候很长时间。因此,这种经由监视系统160和/或计算机系统170的检查可能是工作量很大的,无论所获得的呼叫来自单个信令链路还是不同的信令链路。此外,当在等待CDR被存储以用于分析之后查看监视系统160和/或计算机系统170中的呼叫时,用户(即网络管理员或维护人员)不能在移动电话网络100发生问题时采取即时矫正动作。因此,有必要向用户(即网络管理员或维护人员)提供改进的用于管理和分析这种移动电话网络100中的细节记录的工具、系统和方法,包括实时监视移动电话网络100中发生的所有呼叫的能力,以及在特定呼叫或数据会话终止时,立即依照某种传输协议将所述特定呼叫或数据会话的(一个或多个)CDR封装或打包,以便传送到用于中央储存的存储引擎,或者传送到用于即时通知的通知引擎,从而潜在的问题可被立即识别和解决。
现在返回图3,其示出了根据本发明实施例的数据记录打包和传送系统300的示例。如图3所示,系统300包括:CDR产生单元320,其接收来自移动电话网络100的信令链路(即接口或交换机)的由构成每个呼叫的单个帧(消息)组成的传输数据流,并在接收到传输数据流时,将原始数据的单个帧存储在具有文件目录的数据文件(例如SAL文件)中,然后生成与通过移动电话网络100传送的呼叫相对应的CDR;CDR封装器/解封装器单元340,其在呼叫终止时,立即管理依照某种网络传输协议对一个或多个CDR进行的封装/解封装,以便传送到CDRI储存库以用于问题分析或即时动作,CDR封装器/解封装器单元340还管理向CDR储存库存储CDR和从CDR储存库获取CDR,还管理存储在CDR产生单元310中的相应CDR的单个帧,包括选择感兴趣的特定类型的呼叫和执行“向下钻取(drill down)”操作,其中在被用户(即网络管理员或维护人员)请求时,构成所选择的呼叫的单个帧的细节可从CDR产生单元320被向下钻取;以及用户输入360,其使得用户在被通知已终止的呼叫时能够检查在移动电话网络100上传送的呼叫,从而选择感兴趣的呼叫类型,以便获取与所选择的呼叫相关联的所有CDR以用于信令分析,并能够请求执行“向下钻取”操作,其中一个或多个所选择的CDR可被获取以用于信号分析的视觉显示,或者,与一个或多个所选择的CDR相对应的详细帧消息可被获取以用于详细信号分析的视觉显示。与普通信号分析不同,详细信号分析可例如包括:可在特定时刻被检查以便发现潜在差错的基于基于时间的事件序列的报告;用于确保CDR的准确性的对CDR的确认;以及可被检查以获得信号特性的单个公共测量的报告(每N秒发送的消息,用于指示例如信号强度这样的信号特性)。这种详细信号分析只能基于原始帧消息而非CDR来完成。
返回去看图3,CDR产生单元320包括CDR生成器322和称为文件储存库324的内部数据库。CDR生成器322被布置为接收由代表电话网络100中已经发生和正在发生的呼叫的单个帧(消息)构成的传入数据流,将构成每个呼叫的单个帧或消息打包在独立和离散的数据文件(称为SAL文件)中,将打包数据文件存储在文件储存库324中,然后生成与电话网络100中已经发生或正在发生的呼叫相对应的例如CDR这样的数据记录。
CDR封装器/解封装器单元340包括:编码器342,其在呼叫终止时接收来自CDR生成器322的CDR,并根据预定的编码规则342B对CDR编码;传送器344,其将编码后的CDR按照分组进行封装,并使用例如传输控制协议(TCP)这样的多个网络中公用的网络传输协议(即呼叫流协议)来生成分组流;解码器346,其使用预定的解码规则346B来对TCP分组解码,以获得CDR;CDR网关348,其充当用于将CDR转发到存储引擎350和/或通知引擎254的网关,在存储引擎350处CDR可被存储在CDR储存库352处,在通知引擎254处即时用户通知可响应于预定的通知规则352B,例如通过email通知、寻呼机、文本消息、简单网络管理协议(SNMP)陷阱或它们的任意组合而被实时生成。
独立地,CDR封装器/解封装器单元340还可被配置为:接收CDR并将CDR存储在CDR储存库352中;在接收到来自用户输入360的请求时,从CDR储存库352获得一个或多个与特定呼叫ID相关联的CDR(例如IMSI),以用于视觉显示;以及从用户输入360接收请求,以执行“向下钻取”操作,其中构成所选择的呼叫的一个或多个CDR可从CDR储存库352被向下钻取,以便进行信令分析,或者与存储在文件储存库314中的构成所选择的呼叫的所选择的CDR相对应的单个帧的细节可从文件储存库314被向下钻取,以便在用户输入处进行视觉显示,从而进行详细信令分析。用户输入360可以是直观图形用户界面(GUI)以方便用户的使用。
这种CDR封装器/解封装器单元340还可被实现为控制单元,例如微处理器、微控制器或例如安装在图1所示的计算机系统170中的处理器卡,所示控制单元可被配置为执行如上所述的一组指令,包括管理存储在CDR储存库362中的CDR和存储在文件储存库324处的相应CDR的单个帧,以及执行“向下钻取”操作、“实时”过滤和将呼叫与特定的用户定义呼叫标准进行匹配从而选择感兴趣的呼叫类型,以及按照特定的用户定义呼叫标准和由用户设置的警报来进行传送和通知。
例如,警报标准可包括:警报名称、呼叫记录类型、匹配标准(即逻辑表达式)、标准必须匹配的次数、执行警报的时段,以及通知方法(例如email通知、寻呼机、文本消息、简单网络管理协议(SNMP)陷阱或它们的任意组合)。这不是限制性的列表,因为依赖于移动电话网络100的哪些方面需要被监视和检查,不同的用户将希望指定不同的警报标准。例如可编辑表这样的其他输入机制也是可能的,并且可以设置默认值,从而用户不需要指定用于警报标准的所有数据。
示例性警报可被配置为包括以下内容:(1)警报名称;(2)呼叫记录类型;(3)匹配标准(可使用逻辑表达式);(4)该标准必须被匹配的次数;(5)执行警报的时段。用户定义的呼叫标准的一个示例可如表1所示:
表1
标准 |
值 |
警报名称 |
“lu”异常释放 |
呼叫记录类型 |
“lu”接口 |
匹配标准 |
RANAP原因=‘异常释放’ |
该标准必须匹配的最小次数 |
10 |
执行警报的时段 |
60秒 |
通知 |
SNMP陷阱 |
返回去看图3所示的CDR封装器/解封装器单元340,编码器342接收来自CDR生成器322的CDR细节,并使用一组XML文件格式的预定编码规则342B来编码CDR细节,其中每个文件对应于包含结合图2A和2B描述的特定参数的分组字段。XML文件中的字段之一的示例性格式可以如下所示:
<field position=”1”>
<name>Start Date&Time</name>
<dataID>2003</dataID>
<type>timestamp</type>
<length>4</length>
</field>
其中<field position=”1”>可代表在分组中的位置;<name>Start Date&Time</name>可代表域的名称;<dataID>2003</dataID>可代表要从CDR的存储器表示中提取的索引;<type>timestamp</type>可代表元素的类型,即时间戳是UTC;并且<length>4</length>可代表以字节为单位的字段长度。
此外,其他头部信息也可被包括在分组中。例如:
<lore>
<updated>1</updated>
<version>2.0</version>
<profile>DMT 3 GPP R5 06-2004 lu Interface</profile>
<id>375</id>
</lore>
‘version’和‘id’都将被编码到分组中。一旦分组被建立,这样的分组就会随后经由传送器344被发送到解码器346。在接收端,相同的XML文件(即解码规则346B)将被用来解码TCP分组。
示例性的编码规则342B和解码规则346B可参照例如图2A所示的用于“lu”接口的参数设置如下:
<XML version=″1.0″encoding=″UTF-8″standalone=″no″?>
-<callflowprotocol>
- <lore>
<updated>1</updated>
<version>2.0</version>
<profile>DMT 3GPP R5 06-2004 Iu Interface</profile>
<id>375</id>
</lore>
- <dataunit>
- <field position=″1″>
<name>Start Date & Time</name>
<dataid>2003</dataid>
<type>timestamp</type>
<length>4</length>
</field>
- <field position=″2″>
<name>IMSI</name>
<dataid>1005</dataid>
<type>string</type>
<length>32</length>
</field>
- <field position=″3″>
<name>IMEI</name>
<dataid>1023</dataid>
<type>string</type>
<length>32</length>
</field>
- <field position=″4″>
<name>Oldest TMSI/P-TMSI</name>
<dataid>1007</dataid>
<type>string</type>
<length>9</length>
</fieid>
- <field position=″5″>
<name>Latest TMSI/P-TMSI</name>
<dataid>1006</dataid>
<type>string</type>
<length>9</length>
</field>
-<field position=″6″>
<name>SAI LAC</name>
<dataid>1020</dataid>
<type>string</type>
<length>16</length>
</field>
-<field position=″7″>
<name>SAI SAC</name>
<dataid>1051</dataid>
<type>int</type>
<length>4</length>
</field>
- <field position=″8″>
<name>RAC</name>
<dataid>1019</dataid>
<type>int</type>
<length>4</length>
</field>
- <field position=″9″>
<name>Called Party BCD Number</name>
<dataid>1003</dataid>
<type>atring</type>
<length>32</length>
</field>
- <field position=″10″>
<name>Calling Party BCD Number</name>
<dataid>1004</dataid>
<type>string</type>
<length>32</length>
</field>
- <field position=″11″>
<name>CN Domain</name>
<dataid>1016</dataid>
<type>int</type>
<length>4</length>
</field>
- <field position=″12″>
<name>SCCP Release Cause</name>
<dataid>1008</dataid>
<type>int</type>
<length>4</length>
</field>
- <field position=″13″>
<name>RANAP Cause</name>
<dataid>1018</dataid>
<type>int</type>
<length>4</length>
</field>
- <field position=″14″>
<name>Setup Time</name>
<dataid>1010</dataid>
<type>duration</type>
<length>4</length>
</field>
- <field position=″15″>
<name>Cleardown Time</name>
<dataid>1011</dataid>
<type>duration</type>
<length>4</length>
</field>
- <field position=″16″>
<name>Speech Path/CID</name>
<dataid>1017</dataid>
<type>string</type>
<length>16</length>
</field>
- <field position=″17″>
<name>Bad Speech Frames</name>
<dataid>1021</dataid>
<type>int</type>
<length>4</length>
</field>
- <field position=″18″>
<name>IPv4 Address</name>
<dataid>2012</dataid>
<type>ipaddress</type>
<length>4</length>
</field>
- <field position=″19″>
<name>Uplink Packets</name>
<dataid>2015</dataid>
<type>int</type>
<length>4</length>
</field>
- <field position=″20″>
<name>Downlink Packets</name>
<dataid>2016</dataid>
<type>int</type>
<length>4</length>
</field>
- <field position=″21″>
<name>Uplink Octets</name>
<dataid>2017</dataid>
<type>int</type>
<length>4</length>
</field>
- <field position=″22″>
<name>Downlink Octets</name>
<dataid>2018</dataid>
<type>int</type>
<length>4</length>
</field>
- <field position=″23″>
<name>Uplink Rate bp/s</name>
<dataid>2019</dataid>
<type>int</type>
<length>4</lcngth>
</field>
- <field position=″24″>
<name>Downlink Rate bp/s</name>
<dataid>2020</dataid>
<type>int</type>
<length>4</length>
</field>
- <field position=″25″>
<name>Uplink_MaxBitrate(CS)</name>
<dataid>2021</dataid>
<type>int</type>
<length>4</length>
</field>
- <field position=″26″>
<name>Downlink_MaxBitrate(CS)</name>
<dataid>2022</dataid>
<type>int</type>
<length>4</length>
</field>
- <field position=″27″>
<name>Uplink_MaxBitrate(PS)</name>
<dataid>2023</dataid>
<type>int</type>
<length>4</length>
</field>
- <field position=″28″>
<name>Downlink_MaxBitrate(PS)</name>
<dataid>2024</dataid>
<type>int</type>
<length>4</length>
</field>
- <field position=″29″>
<name>CC Cause</name>
<dataid>1025</dataid>
<type>int</type>
<length>4</length>
</field>
- <field position=″30″>
<name>SM Cause</name>
<dataid>1026</dataid>
<type>int</type>
<length>4</length>
</field>
- <field position=″31″>
<name>RR Cause</name>
<dataid>1027</dataid>
<type>int</type>
<length>4</length>
</field>
- <field position=″32″>
<name>GMM Cause</name>
<dataid>1028</dataid>
<type>int</type>
<length>4</length>
</field>
- <field position=″33″>
<name>MM Cause</name>
<dataid>1029</dataid>
<type>int</type>
<length>4</length>
</field>
- <field position=″34″>
<name>APN</name>
<dataid>1030</dataid>
<type>string</type>
<length>64</length>
</field>
- <field position=″35″>
<name>Relocation Cause</name>
<dataid>3001</dataid>
<type>int</type>
<length>4</length>
</field>
- <field position=″36″>
<name>Iu ALCAP Cause</name>
<dataid>3002</dataid>
<type>int</type>
<length>4</length>
</field>
- <field position=″37″>
<name>ARP(CS)</name>
<dataid>3003</dataid>
<type>int</type>
<length>4</length>
</field>
- <field position=″38″>
<name>ARP(PS)</name>
<dataid>4032</dataid>
<type>int</type>
<length>4</length>
</field>
- <field position=″39″>
<name>Authentication and Ciphering Cause</name>
<dataid>3004</dataid>
<type>int</type>
<length>4</length>
</field>
- <field position=″40″>
<name>DL Guaranteed Bitrate(CS)</name>
<dataid>3005</dataid>
<type>int</type>
<length>4</length>
</field>
- <field position=″41″>
<name>UL Guaranteed Bitrate(CS)</name>
<dataid>4052</dataid>
<type>int</type>
<length>4</length>
</field>
- <field position=″42″>
<name>DL Guaranteed Bitrate(PS)</name>
<dataid>4053</dataid>
<type>int</type>
<length>4</length>
</field>
- <field position=″43″>
<name>UL Guaranteed Bitrate(PS))</name>
<dataid>4054</dataid>
<type>int</type>
<length>4</length>
</field>
- <field position=″44″>
<name>Security ModeCause</name>
<dataid>3007</dataid>
<type>int</type>
<length>4</length>
</field>
- <field position=″45″>
<name>THP(CS)</name>
<dataid>3008</dataid>
<type>int</type>
<length>4</length>
</field>
- <field position=″46″>
<name>THP(PS)</name>
<dataid>4002</dataid>
<type>int</type>
<length>4</length>
</field>
- <field position=″47″>
<name>Transfer Delay(CS)</name>
<dataid>3009</dataid>
<type>int</type>
<length>4</length>
</field>
- <field position=″48″>
<name>Transfer Delay(PS)</name>
<dataid>4082</dataid>
<type>int</type>
<length>4</length>
</field>
- <field position=″49″>
<name>Old LAC</name>
<dataid>3010</dataid>
<type>int</type>
<length>4</length>
</field>
- <field position=″50″>
<name>LUT</name>
<dataid>3011</dataid>
<type>int</type>
<length>4</length>
</field>
- <field position=″51″>
<name>Old RAC</name>
<dataid>3012</dataid>
<type>int</type>
<length>4</length>
</field>
- <field position=″52″>
<name>RUT</name>
<dataid>3013</dataid>
<type>int</type>
<length>4</length>
</field>
- <field position=″53″>
<name>GMM Attach Type</name>
<dataid>3014</dataid>
<type>int</type>
<length>4</length>
</field>
- <field position=″54″>
<name>CP Cause</name>
<dataid>3015</dataid>
<type>int</type>
<length>4</length>
</field>
- <field position=″55″>
<name>RP Cause</name>
<dataid>4152</dataid>
<type>int</type>
<length>4</length>
</field>
- <field position=″56″>
<name>TP Cause</name>
<dataid>4153</dataid>
<type>int</type>
<length>4</length>
</field>
- <field position=″57″>
<name>No of Act PDP Ctxt Accept</name>
<dataid>3016</dataid>
<type>int</type>
<length>4</length>
</field>
- <field position=″58″>
<name>No of Act PDP Ctxt Req</name>
<dataid>3017</dataid>
<type>int</type>
<length>4</length>
</field>
- <field posltion=″59″>
<name>No of RP-ACK(MS)</name>
<dataid>3018</dataid>
<type>int</type>
<length>4</length>
</field>
- <field position=″60″>
<name>No of RP-ACK(NW)</name>
<dataid>4182</dataid>
<type>int</type>
<length>4</length>
</field>
- <field position=″61″>
<name>No of CM Service Req(SMS)</name>
<dataid>3019</dataid>
<type>int</type>
<length>4</length>
</field>
- <field position=″62″>
<name>No of Iu Rel Req (dropped)</name>
<dataid>3020</dataid>
<type>int</type>
<length>4</length>
</field>
- <field position=″63″>
<name>No of Alerting</name>
<dataid>3021</dataid>
<type>int</type>
<length>4</length>
</field>
- <field position=″64″>
<name>No of CM Service Req(MOC)</name>
<dataid>3022</dataid>
<type>int</type>
<length>4</length>
</field>
- <field position=″65″>
<name>CM Servlce Setup Time</name>
<dataid>3023</dataid>
<type>duration</type>
<length>4</length>
</field>
- <field position=″66″>
<name>GMM Attach Setup Time</name>
<dataid>4232</dataid>
<type>duration</type>
<length>4</length>
</field>
- <field position=″67″>
<name>PDP Ctxt Setup Time</name>
<dataid>3024</dataid>
<type>duration</type>
<length>4</length>
</field>
- <field position=″68″>
<name>Service Type</name>
<dataid>3037</dataid>
<type>string</type>
<length>128</length>
</field>
- <field position=″69″>
<name>UTRAN PC</name>
<datald>3046</dataid>
<type>int</type>
<length>4</length>
</field>
</dataunit>
</callflowprotocol>
现在返回图3,在确定与当前生成的数据记录(例如CDR)相关联的呼叫完成之后,编码器342使用如上所述的编码规则342B对CDR编码,以便经由传送器344传送到解码器346从而使用解码规则346B(与编码规则342B相同)进行解码,还传送到CDR网关348以便被存储在CDR储存库352中和/或通过通知引擎358被提供给用户。如果被提供以IP地址或类似的目的地寻址方法,则传送器230还可将编码后的CDR传送到网络中的另一点。
CDR产生单元320、CDR封装器/解封装器单元340和用户输入360可以是用XML语言编写的软件模块。但是,这些模块也可以用多种软件语言编写,所述软件语言包括C、C++、Java、Visual Basic、J2EE、SQL、Perl、Web Services、VB.NET和因特网上的很多其他语言。各种软件模块还可以被集成于在一个或多个控制单元(未示出)(例如图1所示的计算机系统170中微处理器、微控制器或处理器卡(包括一个或多个微处理器或微控制器))上执行的单个应用中。或者,软件模块和每个模块的单个元件也可分布在由不同的计算机系统(例如监视系统160、计算机系统170或连接到移动电话网络100的任何其他计算设备)执行的不同应用中。例如,CDR产生单元320可驻留在图1所示的监视系统160中。CDR封装器/解封装器单元340可驻留在计算机系统170上。或者,CDR封装器/解封装器单元340的单个元件可驻留在监视系统160或计算机系统170中。例如,CDR封装器/解封装器单元340的编码器342和传送器344可驻留在计算机系统170中,而解码器346、CDR网关348、存储引擎350和通知引擎354可驻留在监视系统160中。类似地,用户输入360可驻留在同一计算机系统170上,或者驻留在例如外部PC、膝上型计算机或耦合到局域网(LAN)的服务器这样的其他计算设备上。或者,CDR产生单元320、CDR封装器/解封装器单元340和用户输入360的组件也可被集成在可被安装在单个计算设备(例如图1所示的计算机系统170)上的单个应用中。
这些软件模块可以包括数据和指令,所述数据和指令也可被存储在一个或多个机器可读存储介质中,例如动态或静态随机访问存储器(DRAM或SRAM)、可擦除和可编程只读存储器(EPROM)、电可擦除和可编程只读存储器(EEPROM)和闪存、例如固定盘、软盘和可移动盘等磁盘、包括磁带在内的其他磁介质,以及例如致密盘(CD)或数字视频盘(DVD)等光介质。
软件例程或模块的指令还可以通过多种不同方式之一被载入或传送到监视系统160、计算机系统170或移动电话网络100上的任何计算设备中。例如,包括存储在软盘、CD或DVD介质、硬盘中的指令或包括通过网络接口卡、调制解调或其他接口设备传送的指令的代码段可被载入系统和作为相应的软件例程或模块来执行。在载入或传送处理中,被实现为载波(通过电话线、网线、无线链路、线缆等传输)的数据信号可将包括指令的代码段传递到网络节点或元件。这些载波可以是电、光、声、电磁形式的,或者是其他类型的信号。
图4示出了根据本发明实施例的示例性的数据记录分组“实时”操作和传送系统。在操作410中,CDR生成器322接收来自移动电话网络100中的一个或多个监视点的传入数据流,并从所述数据流生成CDR。在操作420,编码器342确定正为其生成CDR的呼叫是否完成。如果正为其生成CDR的呼叫未完成,则操作410继续,直到呼叫完成。如果正为其生成CDR的呼叫事实上已完成,则在操作430,CDR就被编码器342使用前述编码规则342编码,以便经由网络信道进行传送。在操作440,编码后的CDR被打包在分组的TCP流中并且被经由传送器344传送。在操作450,编码后的CDR被解码器接收并被根据解码规则(即与编码操作相同的一组规则)解码。在操作460,解码后的CDR被提供给CDR网关348,此处CDR网关250同时将解码后的CDR提供给存储引擎350和通知引擎354。在操作470,存储引擎260将解码后的CDR存储在CDR储存库352中,同时通知引擎354把用户可查看的解码后CDR通知给用户。通知引擎354根据从用户、系统或其他接收的通知规则或在通知引擎354中提供的通知规则来把解码后的CDR通知给用户。
如上所述,本发明有益地向用户(网络管理员或维护人员)提供了用于管理和分析这种移动电话网络中的细节记录的改进工具、系统和方法,包括实时生成、存储CDR和将其提供给用户以便提供移动电话网络的健康情况的高级视图的能力。通过在相关呼叫完成时立即查看这些CDR,用户能够立即识别出网络中的问题并采取矫正动作来防止进一步的问题。
虽然已经示出了本发明的示例性实施例,但是本领域的技术人员应当理解,在不脱离本发明的真实范围的情况下,随着技术进步可作出各种改变和修改,并且可进行等同物替换。在不脱离本发明范围的情况下,可作出很多修改、变更、添加和子组合来使本发明的教导适应于特定环境。此外,虽然已经在具有北美的典型体系结构并采用SS7协议的电信网络的上下文中描述了移动网络,但是应当理解,本发明并不限于这一特定电信网络或协议。相反,本发明适用于其他通信网络和兼容信令协议,例如综合系统数字网(ISDN)、语音IP(VoIP)网络、因特网,或蜂窝通信系统,例如移动通信全球系统(GSM)网络或全球移动电信系统(UMTS)网络。此外,本发明的替换实施例可被实现为用于与计算机系统一起使用的计算机程序产品。这种计算机程序产品例如可以是存储在有形数据记录介质上(例如磁带、CD-ROM、ROM或固定盘),或实现在计算机数据信号(所述信号通过有形介质或无线介质例如微波或红外线传输)中的一系列计算机指令。所述一系列计算机指令可构成上述功能的全部或一部分,并且还可被存储在易失性或非易失性的任何存储器设备(例如半导体、磁、光或其他存储器设备)中。最后,CDR储存库也可以是机器可读存储介质,例如动态或静态随机访问存储器(DRAM或SRAM)、可擦除和可编程只读存储器(EPROM)、电可擦除和可编程只读存储器(EEPROM)和闪存、例如固定盘、软盘和可移动盘等磁盘、包括磁带在内的其他磁介质,以及例如致密盘(CD)或数字视频盘(DVD)等光介质。因此,本发明并不限于这里公开的各个示例性实施例,而是包括落在所附权利要求中的所有实施例。