承载控制协议H248浅说

协议定义:H.248协议是 2000年由ITU-T第16工作组提出的媒体网关控制协议,它是在早期的MGCP协议基础上改进而成。H.248/MeGaCo协议是用于连接MGC(媒体网关控制器)与MG(媒体网关)的网关控制协议,应用于媒体网关与软交换设备之间及软交换与 H.248/MeGaCo终端之间,是软交换应支持的重要协议。H.248协议定义的连接模型包括终端(termination)和关联(context)两个主要概念。终端是MG中的逻辑实体,能发送和接收一种或多种媒体流和控制流,在任何时候,一个终端属于且只能属于一个关联,可以表示时隙(TDM)、模拟线和RTP(实时传输协议)流等。终端类型主要有半永久性终端(TDM信道或模拟线等)和临时性终端(如RTP流,用于承载语音、数据和视频信号或各种混合信号)。用属性、事件、信号、统计表示终端特性,为了解决屏蔽终端多样性问题,在协议中引入了包(package)概念,将终端的可选特性参数组合成包。一个关联是一些终端间的联系,它描述终端之间的拓扑关系及媒体混合/交换的参数。朗讯公司(Lucent)在MGCP协议中首次提出context概念,使协议具有更好的灵活性和可扩展性,H.248/MeGaCo协议延用了这个概念,它可用Add termination命令创建,用Subtract或Move命令删除。

主要功能:H.248协议是由MGC控制MG的协议,也称MeGaCo(ITU称呼)。 H.248中引入了cnntext概念,增加了许多package的定义,从而将MGCP大大推进一步。可以说H.248建议已取代MGCP,成为MGC与 MG之间的协议标准。然而在固网中MGCP还是存在很大的应用,H248主要是应用于移动方面。将网关分解成MG和MGC是研制大型电信级IP电话网关的需要。MGC的功能是:(l)处理与网守间的H.225 RAS消息;(2)处理 No.7信令(可选);(3)处理H.323信令(可选)。MG的功能是:(l)IP网的终结点接口;(2)电路交换网终结点接口;(3)处理 H.323信令(在某类分解中);(4)处理带有RAS(registeration admission status)功能的电路交换信令(在某类分解中);(5)处理媒体流。

协议消息及命令:消息是协议发送的信息单元,一个消息包含一个消息头和版本号,消息头包含发送者的ID。消息中的事务彼此无关,可以独立处理。协议消息的编码格式为文本格式和二进制格式。MGC必须支持这两种格式,MG可以支持其中任一种格式。当MG发起呼叫时,MGC建立一个新的上下文,并使用Add命令将 RTP流和模拟线这两个终端分别添加到上下文中,当 MG结束呼叫后,MGC使用Subtract命令将终端从上下文中删除,释放资源。用Modify命令可以修改终端的属性和信号参数。H.248还定义了:(l)Move命令,将一个终端从一个上下文移到另一个上下文;(2)AuditValue命令,返回终端特性的当前状态;(3)AuditCapabilities命令,返回终端特性的能力集;(4)Notify命令,允许 MG将检测到的事件通知 MGC;(5)ServiceChange命令,允许 MG通知MGC一个或多个终端将要脱离或加入业务,也可以用于MG注册到 MGC表示可用性,以及MGC的挂起和MGC的主、备转换通知等。

H248和MGCP大致区别:H.248/MeGaCo协议简单、功能强大,且扩展性很好,允许在呼叫控制层建立多个分区网关;MGCP是H.248/MeGaCo以前的版本,它的灵活性和扩展性不如H.248/ MeGaCo。H.248支持多媒体,MGCP不支持多媒体。应用于多方会议时,H.248比 MGCP容易实现。MGCP基于UDP传输,H.248基于传输控制协议(TCP)、UDP等。H.248的消息编码基于文本和二进制,MGCP的消息编码基于文本。

一个基于H248协议的基本呼叫控制流程解说
在解说流程之前,需要了解几个关键性的概念
事务(Transaction):MG 与MGC 之间的一组命令构成事务。一个事务可以由一个或多个动作(Action)组成,每个动作又由作用范围局限在同一个关联中的一个或多个命令组成。
请求(Request)和响应(Reply):MGC 和MG 之间进行各种层次上的交互(如事务交互、动作交互和命令交互等)。每次交互包含一个请求和一个响应。请求由发送方发起;接收方对请求进行处理,并将处理结果包含在响应中返回给发送方。通常MGC 发起请求而MG 做出响应。但相反的情况也是可能的。
协议结构:
MG 和MGC 之间的一组命令(command)组成了事务(Transaction)。每个Transaction 由一个TransactionID来标识。Transaction 由一个或者多个动作(Action)组成。一个Action 又由一系列command以及对关联属性进行修改和审计的指令组成,这些命令、修改和审计操作都局限在一个关联之内。因而每个动作(action)通常指定一个关联标识(Contextid)
所有 Megaco/H.248 信息采用 ASN.1 文本信息格式。Megaco/H.248 通过一系列命令控制终止(Termination)、关联域(Context)、事件(Event)以及信号(Signal)等。下面列出了各种命令:                                                                                                                                                                                                                                                                                            
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       
Add ― Add 命令负责添加 Termination 到 Context。Context 中的第一个 Termination 上的 Add 命令可以用于创建一个 Context。                                                                                                                                                                                                                                                                                                                                                                  
Modify ― Modify 命令用于更改 Termination 的属性、事件和信号。                                                                                                                                                                                                                                                                                                                                                                                                                          
Subtract ― Subtract 命令用于断开 Context 中的 Termination 连接,并返回加入 Context 的关于 Termination 的统计值。Context 中最后 Termination 上的 Subtract 命令用以删除Context。                                                                                                                                                                                                                                                                                                         
Move ― Move 命令自动将 Termination 移动到其它 Context。                                                                                                                                                                                                                                                                                                                                                                                                                                
AuditValue ― AuditValue 命令用以返回属性、事件和信号的当前状态,以及终点统计值.                                                                                                                                                                                                                                                                                                                                                                                                        
AuditCapabilities ― AuditCapabilities 命令返回媒体网关所支持的关于终点属性、事件及信号等的所有可能值。                                                                                                                                                                                                                                                                                                                                                                                 
Notify ― Notify 命令允许媒体网关通知媒体网关控制器关于媒体网关中发生的事件。                                                                                                                                                                                                                                                                                                                                                                                                           
ServiceChange ― ServiceChange 命令允许媒体网关通告媒体网关控制器关于单个终点或终点组将退出服务或返回到服务。此外 MG 利用 ServiceChange 命令通告其对 MGC(注册)的可用性,并通告 MGC 关于迫近或完全重启的 MG。MGC 可能通过向 MG 发送 ServiceChange 命令而通告 MG 其移交过程。MGC 还可能通告 ServiceChange 命令通知 MG 为服务增添单个终点或终点组或将单个终点或终点组退出服务。                                                                                                         
H.248和MeGaCo在协议文本上相同,只是在协议消息传输语法上有所区别,H.248采用ASN.1语法格式(ITU-T X.680 1997),MeGaCo采用ABNF语法格式(RFC2234)。


二、环境创建
主叫号码:66680012 ip=221.6.59.123,line1
被叫号码;66680014 ip=221.6.59.123,line3
两号码在同一IAD(221.6.59.123)上,主叫拨打被叫振铃,被叫应答,被叫先挂机。
如何trc 221.6.59.123的呼叫?
1、在GUI上查看221.6.59.123所使用的的cocoCE为COCOCE2,现使用的是COCOCE-2A
2、 在FW PC 上执行tcoco3 and host 221.6.59.123|megafilt -a -s24,25 -mx|tee xiong.log(过滤除221.6.59.123之外的内容)
3、用66680012拨打66680014,然后得到xiong.log, 通过more xiong.log打开文件或通过FTP下载到本地硬盘。
三、消息流程分解:

*************************************************************
*       MegaFilt - Middleware/Megaco/SIP filter tool        *
*         version 111       06/08/2004       WR4MGC         *
*                                                           *
*         written by: M. Spreter        (ASEL) and          *
*************************************************************
Expanding all (Middleware, Megaco, SIP, Internal messages)
Suppressing following messages ...
MW_MonitorRequest
MW_MonitorResponse
Tracing Middleware ... with hexdump
1) MG1(221.6.59.123.2944) 检测到用户User1( njasbtest1line1)的摘机,将此摘机事件(Transaction)通过Notify 命令上报给MGC;
-------------------------------------------------------------------
11:35:35.108365 eth0 < 221.6.59.123.2944 > njcoco2.2944: udp 162
MEGACO/1 [221.6.59.123]:2944Transaction=40{
          Context=-{
                    Notify=njasbtest1line1{
      ObservedEvents=589829{
        19700101T03211814:al/of
        }
      }       
    }
  }TransactionResponseAck{
  39
  }
内容解释:
采用MEGACO协议传送,从MG [221.6.59.123]端口2944 发往MGC 的njcoco2.端口2944,
此事务是TransactionRequest,事务的标识为Transactionid=40,此动作由Notify命令组成,Notify命令里包含下列信息:
终结点标识=njasbtest1line1
请求序号=589829
被观察事件描述符:al/of  ---->event:analog sub/off hook
TransactionResponseAck

2) MGC 向MG1 返回Reply
11:35:35.115867 eth0 > njcoco2.11000 > 221.6.59.123.2944: udp 45 (DF)
!/1 [221.6.59.7] P=40{
  C=-{
    N=njasbtest1line1
    }
  }
解释:
P=reply
TransactionReply 由事务的接收方发送,作为对TransactionRequest 的一对一响应。一个
TransactionReply 包含一个或者多个动作,其中每个动作都必须指定动作的目标关联,以及对应每个关联的一个或者多个响应。当事务的响应方完成了TransactionRequest 的处理后,就会发送一个TransactionReply。


3、MG1 上的用户User1 拨号,MG1 根据MGC 所下发的号码表进行收号,并将所拨号码及匹配结果用Notify 消息上报MGC;

11:35:39.196731 eth0 < 221.6.59.123.2944 > njcoco2.2944: udp 186
MEGACO/1 [221.6.59.123]:2944Transaction=41{
          Context=-{
                    Notify=njasbtest1line1{
      ObservedEvents=393217{
        19700101T03212209:dd/ce{
          ds="66680014", Meth=UM
          }
        }
      }       
    }
  }TransactionResponseAck{
  40
  }
事件描述:
MG检测收号完成(dd/ce),收到数字串(ds)为66680014,所收数字与DIGMAP正好匹配(Meth=UM)
**关于匹配(metching)的定义
如果首位已匹配但在后续收号过程中发生号码和号码表不匹配或长定时器超时,则只向MGC 上报已匹配成功的号码,并且meth=PM;如果首位已匹配但在后续收号过程中发生短定时器 超时,则只向MGC 上报已匹配成功的号码,并且meth=FM;如果用户首位拨号匹配失
败,则向MGC 上报ds="",Meth=PM;如果拨号精确匹配,则上报所拨号码,Meth=UM;


4、MGC 向MG1 返回Reply;
-------------------------------------------------------------------
11:35:39.200330 eth0 > njcoco2.11000 > 221.6.59.123.2944: udp 45 (DF)
!/1 [221.6.59.7] P=41{
  C=-{
    N=njasbtest1line1
    }
  }


5、MGC 向MG发送Add 消息,在MG 中创建一个新context, 并在context 中加入用
户User1 的termination 和RTP termination,其中RTP 的Mode 设置为send and recivice,并设置语音压缩算法;


11:35:39.211946 eth0 > njcoco2.11000 > 221.6.59.123.2944: udp 142 (DF)
!/1 [221.6.59.7] T=100366{
  C=${
    A=njasbtest1line1{
      M{
        O{
          MO=SR,tdmc/ec=on,tdmc/gain=0----->mode=send and recivice
          }
        }
      },
A=${----->add  “CHOOSE”
      M{
        O{
          MO=RC------>mode= Receiveonly
          },
L{        ---------> Local 描述符
          v=0c=IN IP4 $m=audio $ RTP/AVP 8------->V=0,C=IN IP4 <CHOOSE>,M=AUDIO,<CHOOSE> RTP/AVP 8


          }
        }
      }
    }
  }

H.248协议里几个常用缩写:
"T=" TransactionID
"C=" ContextID
"A=" ADD COMMAND
"M"  Media Descriptor
"O"  Local Control Descriptor(可能是,无从考证)
"MO"  Mode Descriptor
"L"   Local Descriptor
"R"   Remote Descriptor

具体解释见第六流程
6、MG1 为所需Add 的RTP 分配资源RTP1,并向MGC 应答Reply 消息,其中包括该RTP1
的IP 地址,采用的语音压缩算法和RTP 端口号等;

-------------------------------------------------------------------
11:35:39.301541 eth0 < 221.6.59.123.2944 > njcoco2.11000: udp 181
MEGACO/1 [221.6.59.123]:2944Reply=100366{
          Context=12{
                    Add=njasbtest1line1,                 Add=RTP/0000{
                              Media{
        Local{
          v=0
c=IN IP4 221.6.59.123
m=audio 4000 RTP/AVP 8

          }                       
        }               
      }       
    }
  }
*****************相关知识*******************************************8
MEDIA的几种描述符之间的关系如下所示:
Media Descriptor
TerminationState Descriptor
Stream Descriptor
LocalControl Descriptor
Local Descriptor
Remote Descriptor
其中,当本协议采用文本方式编码时,Local 和Remote 描述符包含RFC 2327 所定义的SDP 的会话描述(session description)。 SDP 会话描述见附一,例子的描述如下:
m= (媒体名称和传输地址)
m=<media> <port> <transport> <fmt list>
MEDIA 可以选择"audio", "video", "application", "data" and "control
例子的m=audio 4000 RTP/AVP 8如此理解
would specify that ports 4000  form one RTP/RTCP  and
RTP/AVP is the transport protocol and 8 is the format (see below).

Codec id :8 -G.711A
                  0 -G.711U
                  18 -G.729
                   4-G.723

c= 连接信息 - 如果包含在会话层则该字段可选
c=<network type> <address type> <connection address>
例子所用的描述符定义:
c=IN IP4 221.6.59.123―――>IN=internet,IPV4,所连接的ip地址


7、MGC 向MG2 发送Add 消息,在MG2(例子MG2为221.6.59.123的line3) 创建一个新context,在context 中加入用户User2的termination 和RTP termination,其中Mode 设置为SendReceive(更多Mode见附二),并设置远端RTP 地址及端口号、语音压缩算法等,例子MG2为221.6.59.123的line3;

   
-------------------------------------------------------------------
11:35:39.958274 eth0 > njcoco2.11000 > 221.6.59.123.2944: udp 196 (DF)
!/1 [221.6.59.7] T=100367{
  C=${
    A=njasbtest1line3{
      M{
        O{
          MO=SR,tdmc/ec=on,tdmc/gain=0
          }
        }
      },
A=${
      M{
        O{
          MO=SO
          },
L{
          v=0c=IN IP4 $m=audio $ RTP/AVP 8
          },
R{
          v=0c=IN IP4 221.6.59.123m=audio 4000 RTP/AVP 8
          }
        }
      }
    }
  }
H.248协议里几个常用缩写:
"T=" TransactionID
"C=" ContextID
"A=" ADD COMMAND
"M"  Media Descriptor
"O"  Local Control Descriptor(可能是,无从考证)
"MO"  Mode Descriptor
"L"   Local Descriptor
"R"   Remote Descriptor
-------------------------------------------------------------------
8) MG2 为所需Add 的RTP 分配资源RTP2,并向MGC 应答Reply 消息,其中包括该RTP2
的IP 地址,采用的语音压缩算法和RTP 端口号等;
11:35:40.035566 eth0 < 221.6.59.123.2944 > njcoco2.11000: udp 181
MEGACO/1 [221.6.59.123]:2944Reply=100367{
          Context=13{
                    Add=njasbtest1line3,                 Add=RTP/0002{
                              Media{
        Local{
          v=0
c=IN IP4 221.6.59.123
m=audio 4004 RTP/AVP 8

          }                       
        }               
      }       
    }
  }
9) MGC 向MG1 发送Modify 消息, 发送MG2的信息
-------------------------------------------------------------------
11:35:40.040059 eth0 > njcoco2.11000 > 221.6.59.123.2944: udp 143 (DF)
!/1 [221.6.59.7] T=100368{
  C=12{
    MF=njasbtest1line1{
      M{
        O{
          MO=SR
          }
        }
      },
MF=RTP/0000{
      M{
        O{
          MO=SR
          },
R{
          v=0c=IN IP4 221.6.59.123m=audio 4004 RTP/AVP 8
          }
        }
      }
    }
  }
10) MG1 向MGC 返回Reply;

-------------------------------------------------------------------
11:35:40.140345 eth0 < 221.6.59.123.2944 > njcoco2.11000: udp 106
MEGACO/1 [221.6.59.123]:2944Reply=100368{
          Context=12{
                    Modify=njasbtest1line1,                 Modify=RTP/0000       
    }
  }
11)MGC 向MG2 发送Modify 消息,MG2 向被叫送振铃音(al/ri)
-------------------------------------------------------------------
11:35:40.146983 eth0 > njcoco2.11000 > 221.6.59.123.2944: udp 202 (DF)
!/1 [221.6.59.7] T=100369{
  C=13{
    MF=njasbtest1line3{
      E=589829{
        al/of{
          strict=exact
          },
al/on{
          strict=exact
          },
g/sc
        },
SG{
        andisp/dwa{
          ddb=8017010830363038313133350208363636383030313207014fca,pattern=1
          }
        }
      },
MF=RTP/0002
    }
  }

12)MGC 向MG1 发送Modify 消息,让User1 放回铃音,并设置RTP1 的远端RTP 地址及端口号、语音压缩算法等;

11:35:40.147741 eth0 > njcoco2.11000 > 221.6.59.123.2944: udp 74 (DF)
!/1 [221.6.59.7] T=100370{
  C=12{
    MF=njasbtest1line1{
      SG{
        cg/rt{
          SY=TO,DR=0
          }
        }
      }
    }
  }
13)MG1 向MGC 返回Reply;
11:35:40.245253 eth0 < 221.6.59.123.2944 > njcoco2.11000: udp 163
MEGACO/1 [221.6.59.123]:2944Reply=100369{
          Context=13{
                    Modify=njasbtest1line3,                 Modify=RTP/0002       
    }
  }Reply=100370{
          Context=12{
                    Modify=njasbtest1line1       
    }
  }
13)MG2 检测到用户User2 的摘机,将此摘机事件通过Notify 命令上报给MGC;
11:35:44.649345 eth0 < 221.6.59.123.2944 > njcoco2.2944: udp 163
MEGACO/1 [221.6.59.123]:2944Transaction=42{
          Context=13{
                    Notify=njasbtest1line3{
      ObservedEvents=589829{
        19700101T03212729:al/of
        }
      }       
    }
  }TransactionResponseAck{
  41
  }
14)MGC 向MG2 返回Reply;
11:35:44.652670 eth0 > njcoco2.11000 > 221.6.59.123.2944: udp 46 (DF)
!/1 [221.6.59.7] P=42{
  C=13{
    N=njasbtest1line3
    }
  }

15)MGC 向MG2发送MODIFY,MODE=SR
-------------------------------------------------------------------
11:35:44.660631 eth0 > njcoco2.11000 > 221.6.59.123.2944: udp 57 (DF)
!/1 [221.6.59.7] T=100374{
  C=13{
    MF=RTP/0002{
      M{
        O{
          MO=SR
          }
        }
      }
    }
  }
16)MGC 向MG1 发送Modify 消息,让User1 停回铃音signal{},并设置RTP1 的Mode 为
SendReceive;

11:35:44.662368 eth0 > njcoco2.11000 > 221.6.59.123.2944: udp 57 (DF)
!/1 [221.6.59.7] T=100375{
  C=12{
    MF=njasbtest1line1{
      SG{
        
        }
      }
    }
  }
17)MG1 向MGC 返回Reply;User1 与User2 正常通话。
11:35:44.754159 eth0 < 221.6.59.123.2944 > njcoco2.11000: udp 136
MEGACO/1 [221.6.59.123]:2944Reply=100374{
          Context=13{
                    Modify=RTP/0002       
    }
  }Reply=100375{
          Context=12{
                    Modify=njasbtest1line1       
    }
  }
被叫挂机
18)MG1 检测到用户User1 的挂机,将此挂机事件通过Notify 命令上报给MGC;
11:35:48.529565 eth0 < 221.6.59.123.2944 > njcoco2.2944: udp 163
MEGACO/1 [221.6.59.123]:2944Transaction=43{
          Context=13{
                    Notify=njasbtest1line3{
      ObservedEvents=589829{
        19700101T03213091:al/on
        }
      }       
    }
  }TransactionResponseAck{
  42
  }
19)确认挂机MGC 向MG2 返回Reply;
11:35:48.535404 eth0 > njcoco2.11000 > 221.6.59.123.2944: udp 46 (DF)
!/1 [221.6.59.7] P=43{
  C=13{
    N=njasbtest1line3
    }
  }
20)MGC 向MG2 发送Modify 消息,向MG2 发送下一次呼叫的号码表(Digitmap)和下一次放拨号音(cg/dt);并检测收号完成(dd/ce)、挂机(al/on)、拍叉簧(al/fl)事件;

11:35:48.576410 eth0 > njcoco2.11000 > 221.6.59.123.2944: udp 178 (DF)
!/1 [221.6.59.7] T=100376{
  C=13{
    S=*
    },
C=-{
    MF=njasbtest1line3{
      E=589829{
        al/of{
          strict=exact,EM{
            SG{
              cg/dt
              },
E=393217{
              dd/ce{
                 DM=JSNGN8
                },
al/on{
                strict=exact
                },
g/sc
              }
            }
          },
al/on{
          strict=exact
          }
        }
      }
    }
  }
21)向主叫发释放信息,MGC 向MG1 发送Modify 消息,让MG1 对User1 放忙音(cg/bt)
11:35:48.607005 eth0 > njcoco2.11000 > 221.6.59.123.2944: udp 111 (DF)
!/1 [221.6.59.7] T=100377{
  C=12{
    MF=njasbtest1line1{
      M{
        O{
          MO=SR
          }
        },
SG{
        SL=1{
          cg/bt,cg/bt
          }
        }
      },
MF=RTP/0000{
      M{
        O{
          MO=IN--- Inactive
          }
        }
      }
    }
  }
22) 主、被叫REPLY,MG(221。6。59。123)向MGC 返回Reply,释放资源,并向MGC 上报呼叫的媒体流统计信息,里面内容包括Replyid 100376(被叫line)和Replyid 100377(主叫100377)
11:35:48.634083 eth0 < 221.6.59.123.2944 > njcoco2.11000: udp 427
MEGACO/1 [221.6.59.123]:2944Reply=100376{
          Context=13{
                    Subtract=njasbtest1line3{
                              Statistics{
        rtp/delay=0, rtp/jit=0, rtp/or=0, rtp/os=20320, rtp/pl=0, rtp/pr=0, rtp/ps=127
        }               
      },
                Subtract=RTP/0002{
                              Statistics{
        rtp/delay=0, rtp/jit=0, rtp/or=0, rtp/os=20320, rtp/pl=0, rtp/pr=0, rtp/ps=127
        }               
      }       
    },
        Context=-{
                    Modify=njasbtest1line3       
    }
  }Reply=100377{
          Context=12{
                    Modify=njasbtest1line1,                 Modify=RTP/0000       
    }
  }







附1
SDP 会话描述如下: ( 标注 * 符号的表示可选字段 ) :
* v= (协议版本)
* o= (所有者/创建者和会话标识符)
* s= (会话名称)
* i=* (会话信息)
* u=* (URI 描述)
* e=* (Email 地址)
* p=* (电话号码)
* c=* (连接信息 ― 如果包含在所有媒体中,则不需要该字段)
* b=* (带宽信息)
  一个或更多时间描述(如下所示):
* z=* (时间区域调整)
* k=* (加密密钥)
* a=* (0 个或多个会话属性行)
* 0个或多个媒体描述(如下所示)
  时间描述
* t= (会话活动时间)
* r=* (0或多次重复次数)
  媒体描述
* m= (媒体名称和传输地址)
m=<media> <port> <transport> <fmt list>
MEDIA 可以选择"audio", "video", "application", "data" and "control
例子:m=audio 4000 RTP/AVP 8
would specify that ports 4000  form one RTP/RTCP  and
RTP/AVP is the transport protocol and 8 is the format (see below).

* i=* (媒体标题)
* c=* (连接信息 - 如果包含在会话层则该字段可选)
c=<network type> <address type> <connection address>
例子所用的描述符定义:
c=<network type> <address type> <connection address>
c=IN IP4 221.6.59.123
* b=* (带宽信息)
* k=* (加密密钥)
a=* (0 个或多个会话属性行)

附二
Mode 属性:“Sendonly”,“Receiveonly”,“SendReceive”,“Inactive”和
“Loopback”


附三
错误代码
400 ——错误请求(Bad Request)
401 ——协议错误(Protocol Error)
402 ——未授权(Unauthorized)
403 ——事务语法错误(Syntax Error in Transaction)
406 ——协议版本不支持(Version Not Supported)
410 ——标识符错误(Incorrect identifier)
411 ——事务指向未知的关联(The transaction refers to an unknown ContextId)
412 ——没有可用的关联标识符(No ContextIDs available)
421 ——未知的动作或不合法的动作组合(Unknown action or illegal combination of
actions)
422 ——动作语法错误(Syntax Error in Action)
中国电信H.248 协议标准
- 40 -
430 ——未知的终结点标识符(Unknown TerminationID)
431 ——不存在匹配的终结点(No TerminationID matched a wildcard)
432 ——终结点标识超出范围或没有可用的终结点标识符(Out of TerminationIDs or No
TerminationID available)
433 ——终结点已存在于一个关联中(TerminationID is already in a Context)
434 ——关联中的终结点数目超过了最大值(Max number of Terminations in a Context
exceeded)
440 ——协议不支持的包或未知的包(Unsupported or unknown Package)
441 ——Remote 描述符丢失(Missing RemoteDescriptor)
442 ——命令语法错误(Syntax Error in Command)
443 ——命令类型不支持或命令类型未知(Unsupported or Unknown Command)
444 ——描述符类型不支持或描述符类型未知(Unsupported or Unknown Descriptor)
445 ——属性类型不支持或属性类型未知(Unsupported or Unknown Property)
446 ——参数类型不支持或参数类型未知(Unsupported or Unknown Parameter)
447 ——命令中描述符非法类型(Descriptor not legal in this command)
448 ——同一描述符在命令中重复两次(Descriptor appears twice in a command)。
注:H.248.8 规定该错会中止对命令的执行,但本标准认为可以接受该错误被忽略的做法(不
报错误码),因为忽略重复出现的描述符不会影响事务继续处理。
450 ——包中不存在的属性(No such property in this package)
451 ——包中不存在的事件(No such event in this package)
452 ——包中不存在的信号(No such signal in this package)
453 ——包中不存在的统计数据(No such statistic in this package)
454 ——包中不存在的参数(No such parameter value in this package)
455 ——描述符中的参数非法(Parameter illegal in this Descriptor)
456 ——同一描述符中参数或属性重复两次(Parameter or Property appears twice in this
Descriptor)
457 ——信号或事件参数丢失(Missing parameter in signal or event)
471 ——添加复用描述符终结点失败(Implied Add for Multiplex failure)
500 ——内部网关错误(Internal Gateway Error)
501 ——未执行(Not Implemented)
502 ——未准备就绪(Not ready)
503 ——业务不可用(Service Unavailable)
504 ——命令发起方未授权(Command Received from unauthorized entity)
505 ——接收Restart 响应前接收到命令(Command Received before Restart Response )
510 ——没足够资源可用(Insufficient resources)
512 ——MG 未装载,不能进行对要求检测的事件的检测(Media Gateway unequipped to detect requested Event)
513 ——MG 未装载,不能产生请求信号(Media Gateway unequipped to generate requested
Signals)
514 ——MG 不能发送指定的通知(Media Gateway cannot send the specified announcement)
515 ——媒体流类型不支持(Unsupported Media Type)
517 ——模式不支持或非法(Unsupported or invalid mode)
518 ——EventBuffer 满(Event buffer full)
519 ——无资源装载DigitMap( Out of space to store digit map)
520 ——MG 中未装载DigitMap(DigitMap Media Gateway does not have a digit map)
521 ——终结点正在发生业务改变(Termination is "ServiceChangeing")
526 ——没有足够带宽资源(Insufficient bandwidth)
529 ——设备内部硬件故障(Internal hardware failure)
530 ——网络短暂性故障(Temporary Network failure)
531 ——网络永久性故障(Permanent Network failure)
532 ——要求审计的属性、事件、信号或统计信息不存在(Audited Property, Statistic,
Event or Signal does not exist)
581 ——不存在(Does Not Exist) 

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值