NowSMS MMSC直径MM9实现

张贴者 于2013年4月2日在 支持博客

主题关键字: , , , , ,

单击此处获取此文档的PDF版本。

本文档概述了如何在手机中使用Diameter和MM9来实现MMS计费。 NowSMS MMSC。它还描述了一个用于验证正确的Diameter配置参数和充电行为的测试程序。 MM9直径充电已启用 NowSMS MMSC 版本2013.04.01及更高版本。

MMSC基于以下规范实现了Diameter Credit Control的计费:

[3GPPDIAM]定义了一种用于通过直径实现MMS计费的标准格式,在MMS协议规范中称为MM9。尽管MMSC优先选择使用MM9,但也可以将MMSC配置为使用[DIAMCCA]中定义的通用计费原语,以促进与更广泛的计费系统基础的互操作性。

(可选)爱立信中定义的直径扩展’可以启用[SCAPv2]协议。

MMSC 直径 MM9实施是高度可配置的,其配置设置允许调整Diameter的要求,以满足不同充电系统的要求。核心Diameter计费请求使用[DIAMCCA]中定义的信用控制请求。定义了几个扩展集,这些扩展集提供了要包含在计费请求中的其他Diameter参数。

为了获得最大的灵活性,XML模板文件用于定义基本的Diameter请求,从而允许根据需要添加或删除自定义参数。

作为这种灵活性的一个示例,已经创建了模板来支持爱立信SCAPv1,该模板使用Diameter Base Accounting而不是Diameter Credit Control。有关更多信息,请参见 彩信SCAP v1 支持.

MMSC生成两个不同的Diameter请求,本文档中对此进行了详细描述。

能力交换请求 用于启动连接并标识该连接将用于Diameter Credit-Control。作为响应,MMSC希望收到一个Capability-Exchange-Answer,其中包含表示成功的结果代码2001。

信用控制请求 用于提供MMS计费操作的详细信息。作为响应,MMSC希望收到一个Capability-Exchange-Answer,其中包含表示成功的结果代码2001。如果收到其他任何结果代码,则MMSC将拒绝MMS提交。

 

能力交换请求 AVP代码 协议 使用说明
< 直径 Header > 直径数据库 命令代码= 257,REQ
{原始主机} 264 直径数据库 可配置–与MMSC关联的本地起源主机名
{起源领域} 296 直径数据库 可配置–与MMSC相关联的本地起源域名称
{主机IP地址} 257 直径数据库 可配置–与MMSC关联的本地IP地址
{Vendor-ID} 266 直径数据库,3GPPDIAM 值为0,在DIAMBASE中定义为指示应忽略该字段。
{产品名称} 269 直径数据库 值是MMSC
{Auth-Application-ID} 258 DIAMCCA的DIAMBASE 值是4,如DIAMCCA中所指定
{Acct-Application-ID} 259 直径数据库 值是0
{Supported-Vendor-ID} 265 直径数据库 值为10415,即3GPPDIAM中定义的3GPP代码
(如果请求失败,则MMSC将再次尝试而未指示对此供应商ID的支持。)
{Supported-Vendor-ID} 265 值为193,这是为爱立信SCAP扩展注册的供应商ID代码。
(如果请求失败,则MMSC将再次尝试而未指示对此供应商ID的支持。)

 

信用控制请求 AVP代码 协议 使用说明
< 直径 Header > 直径数据库 命令代码= 272,REQ,应用程序ID = 4
{Session-Id} 263 DIAMCCA 动态生成
{原始主机} 264 直径数据库 可配置–与MMSC关联的本地起源主机名
{起源领域} 296 直径数据库 可配置–与MMSC相关联的本地起源域名称
[目标主机] 293 直径数据库 可选–与计费服务器关联的目标主机名称
{目标领域} 283 直径数据库 可配置–与计费服务器关联的Destination-Realm名称
{Auth-Application-Id} 258 DIAMCCA的DIAMBASE 价值是 4,如DIAMCCA中所定义
{Service-Context-Id} 461 DIAMCCA,3GPPDIAM 可配置– 3GPPDIAM中定义的默认值为32270@3gpp.org,用于指示MMS收费。使用通用DIAMCCA时,可能需要其他值,例如爱立信的SCAP_V.2.0@ericsson.com’s CAP.
{CC-Request-Type} 416 DIAMCCA 值是EVENT_REQUEST
{CC-请求号} 415 DIAMCCA 值目前为0。请注意,将来可能会使用其他值。
[事件时间戳] 55 直径数据库 收费时间
{Subscription-Id}   {Subscription-Id-Type}   {Subscription-Id-Data} 443450444 DIAMCCA 组AVP包含Subscription-Id-Data和Subscription-Type。订阅ID数据: 帐户的MSISDN(包括国家代码)。订阅类型: 值为0(END_USER_E164)

 

{要求采取的行动} 436 DIAMCCA 值为0(DIRECT_DEBITING)
[3GPP-MS-TimeZone] 23 3GPPDIAM 值指示MMSC的时区。爱立信SCAPv2要求。仅当启用了SCAP或3GPPTIMEZONE直径扩展集时,才包含此设置。
[3GPP-SGSN-MCC-MNC] 18 3GPPDIAM 可选(仅当MMSC可用时才包括)SGSN MCC-MNC值可用于检测漫游用户。看到 运营商MMSC计费–检测漫游订户
[SGSN地址] 1228 3GPPDIAM 可选(仅在MMSC可用时才包括),SGSN的IP地址可用于检测漫游用户。看到 运营商MMSC计费–检测漫游订户
[服务标识符] 439 DIAMCCA 可选的整数值。
[请求的服务单元]  [CC-Money]    [Unit-Value]

      [Value-Digits]

      [Exponent]

    [Currency-Code]

  [CC服务特定单位]

437413445

447

429

425

417

DIAMCCA 可选的。仅在使用通用DIAMCCA充电时使用。DIAMCCA允许使用固定价格(使用ISO 4217数字货币代码,例如USD = 840,EUR = 978)或与服务标识符关联的固定服务特定整数值。如果指定了相应的“请求的服务”值,则MMSC将生成这些字段。对于CC-Money,MMSC期望使用十进制格式的值,并将在适当时生成Value-Digits和Expnent。 (例如,CC-Money = 0.25会生成Value-Digits = 25,Exponent = -2。)

配置这些设置时,请不要同时指定CC服务特定单位和CC-Money。指定CC服务特定单位或CC-Money + 货币代码。

 

信用控制请求:3GPP扩展集 AVP代码 协议 使用说明
[服务信息]  [MMS-Information]    [Originator-Address]

      [Address-Type]

      [Address-Data]

    [Recipient-Address]

      [Address-Type]

      [Address-Data]

    [Submission-Time]

    [MM-Content-Type]

      [Type-Number]

      [Content-Size]

    [Message-ID]

    [Message-Type]

    [Message-Size]

    [Message-Class]

      [Class-Identifier]

873877886

899

897

1201

899

897

1202

1203

1204

1206

1210

1211

1212

1213

1214

3GPPDIAM 包含分组的AVP值,该值包含有关MMS消息的信息,包括发起者和接收者。参数标志设置为可选,这意味着如果服务器不理解该参数,则可以忽略。在这种情况下,应使用货币或单位的通用DIAMCCA Requested-Service-Unit参数。

 

信用控制请求:SCAP扩展集 AVP代码 协议 使用说明
{交通案例}{Other-Party-Id}  {Other-Party-Nature}

  {其他方数据}

  {Other-Party-Type}

{Service-Provider-Id}

{订阅编号位置}

108210751076

1077

1078

1081

1074

CAPv2 20(原始服务)收件人地址。自然= 1(国际)

 

类型= 0(END_USER_E164)

可选,可配置。

可选,可配置。

 

MM9测试程序

 

MM9Test程序用于通过启动Diameter连接并发送单个MMS消息的充电请求来测试和验证正确的配置参数和充电行为。该程序的最新版本可以在以下位置下载 http://www.zgbianpofanghuwang.com/download/mm9test.zip.

MM9Test程序生成此文档中详细介绍的两个Diameter请求:能力交换请求和信用控制请求。

MM9TEST.EXE是一个命令行程序。运行时,MM9TEST.EXE将提示您输入以下与Diameter相关的配置参数:

(远程)Diameter服务器主机名或IP地址 –将接收连接的Diameter计费服务器的DNS主机名或IP地址。

(远程)直径服务器端口号 –接收连接的Diameter服务器的端口号。

(远程)直径目标范围 –在Diameter请求中指定的Destination-Realm参数。

(本地/来源)直径主机IP地址 –本地主机的IP地址。这是Capabilities-Exchange-Reqeust的必需属性。

(本地)直径来源-宿主 –在Diameter请求中指定的Origin-Host参数。

(本地)直径Origin-Realm –在Diameter请求中指定的Origin-Realm参数。

服务上下文标识(可选) –计费服务器可能需要Service-Context-Id。默认值是[32GPPDIAM]中定义的32270@3gpp.org,以指示MMS计费。爱立信’■SCAPv2的值为SCAP_V.2.0@ericsson.com。

服务标识符(可选) –可选的整数值,用于标识计费服务器的服务。

请求的服务单元CC的服务特定单元(可选) – [DIAMCCA]允许根据固定价格或与特定服务相关联的服务特定数量的设备收费。在大多数配置中,值1将用于CC服务特定单位,以指示正在发送1条MMS消息。如果使用此参数,则将CC-Money和Currency-Code参数保留为空白。

请求的服务单位CC-Money(可选,使用十进制格式1.23) –如果使用,则表示用于发送MMS消息的固定费用。如果使用此参数,请将CC服务特定单位留空,并为Currency-Code参数指定一个值。

请求的服务单位货币代码(可选,使用ISO 4217货币代码) –使用固定货币费用时,这表示所使用的货币(例如,USD = 840,EUR = 978)。如果使用此参数,请将CC服务特定单位留空,并为CC-Money参数指定一个值。

彩信Sender Phone Number –为发送MMS消息而收费的MSISDN。用于在信用控制请求中构建Subscription-Id和Originator-Address。

彩信Recipient Phone Number – MSISDN接收MMS消息。用于在信用控制请求中建立收件人地址。

3GPP-SGSN-MCC-MNC(可选) –如果MMSC可用,则SGSN MCC-MNC值可用于检测漫游订户。如果保留为空白或不可用,则不包含此参数。

SGSN地址(可选) –如果MMSC可用,则SGSN-ADDRESS值可用于检测漫游订户。如果保留为空白或不可用,则不包含此参数。

启用爱立信SCAP扩展集? (是/否) –回答Y,以包括为SCAP扩展集定义的信用控制请求参数。如果选择,程序将提示您输入SCAP扩展集中包含的其他可选参数。提示输入的SCAP参数值包括Service-Provider-Id,用于标识计费服务器服务的整数值和订阅编号位置。通过指定@@ SGSNMCCMNC @@的值,可以将3GPP-SGSN-MCC-MNC值用作订阅编号位置值。

启用3GPPTIMEZONE扩展集? (是/否) –如果启用了爱立信SCAP扩展集,则此设置将自动默认为Y。回答Y,将3GPP-MS-TimeZone参数包含在信用控制请求中。

启用3GPP扩展集? (是/否) –回答Y,以包括为3GPP扩展集(服务信息/ MMS信息)定义的信用控制请求参数。

如果成功,则测试程序的最后一行输出将显示Diameter Result Code 2001。

原始直径数据包信息将记录到MM9TEST.LOG。但是,为了简化故障排除,建议使用Wireshark捕获和记录连接详细信息。 Wireshark将解码Diameter协议信息,以更清楚地报告返回的任何协议错误,因为协议错误通常与未使用Diameter服务器期望的参数值有关。

重要用法说明: MM9测试程序会保存先前的响应,因此这些先前的响应将用作下一次测试的默认设置。要删除可选参数的先前响应,请按空格键,然后按Enter。

对于高级需求,可以编辑XML模板文件直径-功能-exchange.xml和直径-信贷-控制.xml,以修改收费请求中包含的直径参数。

成功完成MM9 直径充电测试后,测试程序使用的配置设置可以轻松迁移到生产MMSC设置。

MM9测试设置保存在名为MM9TEST.INI的文件中。将MM9TEST.INI的整个[MM9Diameter]部分复制到MMSC.INI将激活MM9TEST.INI中的MM9直径充电 NowSMS MMSC 版本2013.04.01及更高版本。

 

 

MMSC中的MM9直径充电

MM9直径充电已启用 NowSMS MMSC 版本2013.04.01和更高版本,方法是在MMSC.INI的[MM9Diameter]节标题下配置参数。建议使用MM9TEST.EXE实用程序来初始定义这些设置。 MM9测试设置保存在名为MM9TEST.INI的文件中。将MM9TEST.INI的整个[MM9Diameter]部分复制到MMSC.INI将激活MM9 直径充电。

在此支持以下设置 [MM9Diameter] 部分:

目的主机地址 –接收连接的Diameter计费服务器的DNS主机名或IP地址。

目的主机端口号 –接收连接的Diameter服务器的端口号。

主机IP地址 –本地主机的IP地址。这是Capabilities-Exchange-Requst的必需属性。

原始主机 –在Diameter请求中指定的Origin-Host参数。

起源领域 –在Diameter请求中指定的Origin-Realm参数。

产品名称 –要在Capabilities-Exchange-Requst中指定的Product-Name参数。默认值为MMSC。

目的境 –在Diameter请求中指定的Destination-Realm参数。

服务上下文ID –计费服务器可能需要Service-Context-Id。默认值是[32GPPDIAM]中定义的32270@3gpp.org,以指示MMS计费。爱立信’■SCAPv2的值为SCAP_V.2.0@ericsson.com。

服务标识符 –可选的整数值,用于标识计费服务器的服务。

CC服务特定单位 – [DIAMCCA]允许根据固定价格或与特定服务相关联的服务特定数量的设备收费。在大多数配置中,值1将用于CC服务特定单位,以指示正在发送1条MMS消息。如果使用此参数,则将CC-Money和Currency-Code参数保留为空白。

CC钱 –如果使用,则表示用于发送MMS消息的固定货币费用(例如0.05)。如果使用此参数,请将CC服务特定单位留空,并为Currency-Code参数指定一个值。

货币代码 –在CC-Money中使用固定货币费用时,这表示所使用的货币(例如,USD = 840,EUR = 978)。如果使用此参数,请将CC服务特定单位留空,并为CC-Money参数指定一个值。

服务提供者编号 –启用S​​CAP扩展集时,用于标识计费服务器服务的整数值。

订阅编号位置 – CAP扩展集所需的字符串值。通过指定@@ SGSNMCCMNC @@的值,可以将3GPP-SGSN-MCC-MNC值用作订阅编号位置值。

EmailAddressNumber –某些收费环境可能无法接受电子邮件地址作为收件人。对于那些环境,请在要发送给电子邮件收件人的MMS消息的Diameter计费请求中指定要替换的电话号码。

多重收据费 –默认情况下,当MMS消息发送到多个收件人时,MMSC会为每个收件人发出单独的计费请求。当此参数设置为“是”时,MMSC会向多个收件人发出单个收费请求,将CC服务特定单位或CC-Money自动乘以收件人数。

支持的扩展集 –为Diameter连接启用的扩展集的逗号分隔列表。扩展集如下:

  • CAP –启用[SCAPv2]定义的Diameter参数,包括通信量情况,其他方ID,服务提供商ID和订阅ID位置。还启用3GPP-MS-TimeZone。
  • 3GPP时区 –启用3GPP-MS-TimeZone。
  • 3GPPSGSN –启用3GPP-SGSN-MCC-MNC和SGSN-ADDRESS(如果MMSC可用)。
  • 3GPP –启用提供MMS消息详细信息的Service-Information / MMS-Information分组参数。

 

为仅选定订户启用MM9直径

在某些环境中,可能希望仅对某些订户使用MM9直径计费。例如,MM9直径计费可能仅用于预付费订户。

在其他环境中,可能希望对不同的客户组使用不同的Diameter计费服务器(例如,当MMSC托管来自多个国家或多个MVNO的订户时)。

这两种情况都可以通过记帐回调来实现,记录在 http://www.zgbianpofanghuwang.com/doc/advanced-configuration-settings/mms-accounting-callbacks.

MMSSend PreAuth回调可以返回一个响应,指示应尝试进行Diameter计费。在这种情况下,应将CallbackTriggerOnly = Yes添加到MMSC.INI的[MM9Diameter]部分,以指示MMSC仅应在响应MMSSend PreAuth回调的情况下生成Diameter费用。回调响应应包含文本MM9Diameter = Yes,以指示交易需要Diameter费用。

可以通过在MMSC.INI中创建其他节来配置多个Diameter服务器,类似于此处记录的[MM9Diameter]节。使用[MM9Diameter-xxxxxxxx]部分名称,其中xxxxxxxx是与此Diameter服务器关联的名称。 MMSSend PreAuth回调响应可以通过在响应文本中包含MM9Diameter = xxxxxxxx来触发对此服务器的Diameter收费。 (MM9Diameter = Yes会触发[MM9Diameter]中定义的服务器的费用。Yes以外的值会触发其他Diameter服务器的费用。)

 

MM9直径XML模板

 

MMSC中用于Diameter计费的XML模板文件目前尚未完全记录。建议仅在咨询以下人员后才能对这些模板进行任何编辑 NowSMS MMSC 技术支援。

 

diameter-capabilities-exchange.xml:

 

<diameter>

<avp name="原始主机" code="264" mandatory="true" type="UTF8String" value="@@Config-Origin-Host@@" />

<avp name="起源领域" code="296" mandatory="true" type="UTF8String" value="@@Config-Origin-Realm@@" />

<avp name="主机IP地址" code="257" mandatory="true" type="IPAddress" value="@@Config-Host-IP-Address@@" />

<avp name="Vendor-Id" code="266" mandatory="true" type="Unsigned32" value="0" />

<avp name="产品名称" code="269" type="UTF8String" value="@@Config-Product-Name@@" />

<avp name="支持ed-Vendor-Id" code="265" mandatory="true" type="Unsigned32" value="10415" />

<avp name="支持ed-Vendor-Id" code="265" mandatory="true" type="Unsigned32" value="193" />

<avp name="Auth-Application-Id" code="258" mandatory="true" type="Unsigned32" value="4" />

<avp name="Acct-Application-Id" code="259" mandatory="true" type="Unsigned32" value="0" />

</diameter>



<diameter>

<avp name="原始主机" code="264" mandatory="true" type="UTF8String" value="@@Config-Origin-Host@@" />

<avp name="起源领域" code="296" mandatory="true" type="UTF8String" value="@@Config-Origin-Realm@@" />

<avp name="主机IP地址" code="257" mandatory="true" type="IPAddress" value="@@Config-Host-IP-Address@@" />

<avp name="Vendor-Id" code="266" mandatory="true" type="Unsigned32" value="0" />

<avp name="产品名称" code="269" type="UTF8String" value="@@Config-Product-Name@@" />

<avp name="支持ed-Vendor-Id" code="265" mandatory="true" type="Unsigned32" value="10415" />

<avp name="Auth-Application-Id" code="258" mandatory="true" type="Unsigned32" value="4" />

<avp name="Acct-Application-Id" code="259" mandatory="true" type="Unsigned32" value="0" />

</diameter>



<diameter>

<avp name="原始主机" code="264" mandatory="true" type="UTF8String" value="@@Config-Origin-Host@@" />

<avp name="起源领域" code="296" mandatory="true" type="UTF8String" value="@@Config-Origin-Realm@@" />

<avp name="主机IP地址" code="257" mandatory="true" type="IPAddress" value="@@Config-Host-IP-Address@@" />

<avp name="Vendor-Id" code="266" mandatory="true" type="Unsigned32" value="0" />

<avp name="产品名称" code="269" type="UTF8String" value="@@Config-Product-Name@@" />

<avp name="Auth-Application-Id" code="258" mandatory="true" type="Unsigned32" value="4" />

<avp name="Acct-Application-Id" code="259" mandatory="true" type="Unsigned32" value="0" />

</diameter>



<diameter>

<avp name="原始主机" code="264" mandatory="true" type="UTF8String" value="@@Config-Origin-Host@@" />

<avp name="起源领域" code="296" mandatory="true" type="UTF8String" value="@@Config-Origin-Realm@@" />

<avp name="主机IP地址" code="257" mandatory="true" type="IPAddress" value="@@Config-Host-IP-Address@@" />

<avp name="Vendor-Id" code="266" mandatory="true" type="Unsigned32" value="0" />

<avp name="产品名称" code="269" type="UTF8String" value="@@Config-Product-Name@@" />

</diameter>

(重复的部分显示了如果先前的尝试未成功,将进行多次尝试。

 

直径信用控制.xml:

<diameter>

<avp name="Session-Id" code="263" mandatory="true" type="UTF8String" value="@@Session-Id@@" />

<avp name="原始主机" code="264" mandatory="true" type="UTF8String" value="@@Config-Origin-Host@@" />

<avp name="起源领域" code="296" mandatory="true" type="UTF8String" value="@@Config-Origin-Realm@@" />

<avp name="目的境" code="283" mandatory="true" type="UTF8String" value="@@Config-Destination-Realm@@" />

<avp name="Auth-Application-Id" code="258" mandatory="true" type="Unsigned32" value="4" />

<avp name="服务上下文ID" code="461" mandatory="true" type="UTF8String" value="@@Config-Service-Context-Id@@" />

<avp name="CC-Request-Type" code="416" mandatory="true" type="Unsigned32" value="4" />

<avp name="CC-Request-Number" code="415" mandatory="true" type="Unsigned32" value="0" />

<avp name="Event-Timestamp" code="55" mandatory="true" type="Unsigned32" value="@@TimeStamp@@" />

<avp name="Subscription-Id" code="443" mandatory="true" type="Grouped">

  <avp name="Subscription-Id-Type" code="450" mandatory="true" type="Unsigned32" value="0" />

  <avp name="Subscription-Id-Data" code="444" mandatory="true" type="UTF8String" value="@@Sender@@" />

</avp>

<avp name="Requested-Action" code="436" mandatory="true" type="Unsigned32" value="0" />

<avp name="3GPP-MS-TimeZone" code="23" vendor="10415" mandatory="true" type="OctetString" value="@@TimeZone@@" extensionset="3GPP时区,SCAP" />

<avp name="3GPP-SGSN-MCC-MNC" code="18" vendor="10415" mandatory="true" type="UTF8String" value="@@SGSNMCCMNC@@" omitifblank="true" extensionset="3GPPSGSN" />

<avp name="SGSN-Address" code="1228" vendor="10415" mandatory="true" type="IPAddress" value="@@SGSNADDRESS@@" omitifblank="true" extensionset="3GPPSGSN" />

<avp name="服务标识符" code="439" mandatory="true" type="Unsigned32" value="@@Config-Service-Identifier@@" omitifblank="true" />

<avp name="Requested-Service-Unit" code="437" mandatory="true" type="Grouped" value="@@Config-CC服务特定单位@@@@Config-CC-Money@@" omitifblank="true" >

  <avp name="CC服务特定单位" code="417" mandatory="true" type="Unsigned64" value="@@Config-CC服务特定单位@@" multiplerecipmultiply="true" omitifblank="true" />

  <avp name="CC钱" code="413" mandatory="true" type="grouped" value="@@Config-CC-Money@@" omitifblank="true" >

    <avp name="Unit-Value" code="445" mandatory="true" type="grouped" value="@@Config-CC-Money@@" omitifblank="true" >

      <avp name="Value-Digits" code="447" mandatory="true" type="Unsigned64" value="@@Config-CC-Money-Value-Digits@@" multiplerecipmultiply="true" />

      <avp name="Exponent" code="429" mandatory="true" type="Integer32" value="@@Config-CC-Money-Exponent@@" />

    </avp>

    <avp name="货币代码" code="425" mandatory="true" type="Unsigned32" value="@@Config-Currency-Code@@" omitifblank="true" />

  </avp>

</avp>

<avp name="Traffic-Case" code="1082" vendor="193" mandatory="true" type="Unsigned32" value="20" extensionset="CAP" />

<avp name="Other-Party-Id" code="1075" vendor="193" mandatory="true" type="Grouped" multiplereciprepeat="true" extensionset="CAP" >

  <avp name="Other-Party-Id-Nature" code="1076" vendor="193" mandatory="true" type="Unsigned32" value="1" />

  <avp name="Other-Party-Id-Data" code="1077" vendor="193" mandatory="true" type="UTF8String" value="@@Recip@@" />

  <avp name="Other-Party-Id-Type" code="1078" vendor="193" mandatory="true" type="Unsigned32" value="0" />

</avp>

<avp name="服务提供者编号" code="1081" vendor="193" mandatory="true" type="UTF8String" value="@@Config-Service-Provider-Id@@" omitifblank="true" extensionset="CAP" />

<avp name="订阅编号位置" code="1074" vendor="193" mandatory="true" type="UTF8String" value="@@Config-订阅编号位置@@" omitifblank="true" extensionset="CAP" />

<avp name="Service-Information" code="873" vendor="10415" mandatory="true" type="Grouped" extensionset="3GPP" >

  <avp name="MMS-Information" code="877" vendor="10415" mandatory="true" type="Grouped">

  <avp name="Originator-Address" code="886" vendor="10415" mandatory="true" type="Grouped">

    <avp name="Address-Type" code="899" vendor="10415" mandatory="true" type="Unsigned32" value="@@Sender-Address-Type@@" />

    <avp name="Address-Data" code="897" vendor="10415" mandatory="true" type="UTF8String" value="@@Sender@@" />

  </avp>

  <avp name="Recipient-Address" code="1201" vendor="10415" mandatory="true" type="Grouped" multiplereciprepeat="true">

    <avp name="Address-Type" code="899" vendor="10415" mandatory="true" type="Unsigned32" value="@@Recip-Address-Type@@" />

    <avp name="Address-Data" code="897" vendor="10415" mandatory="true" type="UTF8String" value="@@Recip@@" />

  </avp>

  <avp name="Submission-Time" code="1202" vendor="10415" mandatory="true" type="Unsigned32" value="@@TimeStamp@@" />

    <avp name="MM-Content-Type" code="1203" vendor="10415" mandatory="true" type="Grouped">

      <avp name="Type-Number" code="1204" vendor="10415" mandatory="true" type="Unsigned32" value="51" />

      <avp name="Content-Size" code="1206" vendor="10415" mandatory="true" type="Unsigned32" value="@@MsgSize@@" />

    </avp>

    <avp name="Message-ID" code="1210" vendor="10415" mandatory="true" type="UTF8String" value="@@Session-Id@@" />

    <avp name="Message-Type" code="1211" vendor="10415" mandatory="true" type="Unsigned32" value="1" />

    <avp name="Message-Size" code="1212" vendor="10415" mandatory="true" type="Unsigned32" value="@@MsgSize@@" />

    <avp name="Message-Class" code="1213" vendor="10415" mandatory="true" type="Grouped">

      <avp name="Class-Identifier" code="1214" vendor="10415" mandatory="true" type="Unsigned32" value="0" />

    </avp>

  </avp>

</avp>

</diameter>

 

 

 

如有评论和更多讨论,请单击此处访问NowSMS技术论坛(讨论板)...