oSIP协议桟浅析

发布时间 : 星期一 文章oSIP协议桟浅析更新完毕开始阅读

oSIP协议栈浅析

2.2.3 NICT状态机

cb_nict_kill_transaction Transaction initialization NICT_PRE_TRYING cb_nict_transport_error cb_nict_XXX_sent cb_nict_transport_error cb_nict_request_sent2 NICT_TRYING NICT_TERMINATED cb_nict_transport_error cb_nict_1xx_received cb_nict_Nxx_received cb_nict_request_sent2 NICT_COMPLETED NICT_PROCEEDING cb_nict_1xx_received cb_nict_Nxx_received 图2-3: NICT State Machine 注:

cb_nict_xxx_xxxx 表示从一种状态转换到另一种状态时将调用该回调函数

表示从一种状态转换到另一种状态时不调用任何回调函数

cb_nict_XXX_sent:其中XXX表示一下几种消息类型,

register -- cb_nict_register_sent bye -- cb_nict_bye_sent options -- cb_nict_options_sent info -- cb_nict_info_sent cancel -- cb_nict_cancel_sent notify -- cb_nict_notify_sent subscribe -- cb_nict_subscribe_sent unknown -- cb_nict_unknown_sent

cb_nict_Nxx_received:其中N表示一下几个值 2 -- cb_nict_2xx_received

Page 4

oSIP协议栈浅析

3 4 5 6 -- -- -- -- cb_nict_3xx_received cb_nict_4xx_received cb_nict_5xx_received cb_nict_6xx_received

2.2.4 IST状态机

cb_ist_kill_transaction Transaction initialization IST_PRE_PROCEEDING cb_ist_invite_received cb_ist_transport_error cb_ist_1xx_sent cb_ist_invite_received2 IST_TERMINATED IST_PROCEEDING cb_ist_2xx_sent cb_ist_Nxx_sent cb_ist_transport_error cb_ist_ack_received2 cb_ist_3456xx_sent2 IST_CONFIRMED IST_COMPLETED cb_ist_ack_received

图2-4: IST State Machine

注:

cb_ist_xxx_xxxx 表示从一种状态转换到另一种状态时将调用该回调函数

表示从一种状态转换到另一种状态时不调用任何回调函数

cb_ist_Nxx_sent:其中N表示一下几个值,

3 -- cb_ist_3xx_sent 4 -- cb_ist_4xx_sent 5 -- cb_ist_5xx_sent 6 -- cb_ist_6xx_sent

Page 5

oSIP协议栈浅析

2.2.5 NIST状态机

Transaction initialization cb_nist_kill_transaction NIST_PRE_TRYING cb_nist_XXX_ received cb_nist_transport_error NIST_TERMINATED NIST_TRYING cb_nist_1xx_sent cb_nist_transport_error cb_nist_Nxx_sent cb_nist_request_received2 cb_nist_1xx_sent NIST_COMPLETED NIST_PROCEEDING cb_nist_request_received2 cb_nist_Nxx_sent 图2-5: NIST State Machine 注:

cb_nist_xxx_xxxx 表示从一种状态转换到另一种状态时将调用该回调函数

表示从一种状态转换到另一种状态时不调用任何回调函数

cb_nist_XXX_ received:其中XXX表示一下几种消息类型,

register -- cb_nist_register_received bye -- cb_nist_bye_received options -- cb_nist_options_received info -- cb_nist_info_received cancel -- cb_nist_cancel_received notify -- cb_nist_notify_received subscribe -- cb_nist_subscribe_received unknown -- cb_nist_unknown_received

cb_nist_Nxx_ sent:其中N表示一下几个值

Page 6

oSIP协议栈浅析

2 3 4 5 6 -- -- -- -- -- cb_nist_2xx_sent cb_nist_3xx_sent cb_nist_4xx_sent cb_nist_5xx_sent cb_nist_6xx_sent

2.3 解析器(Parsers)模块

2.3.1 SIP Parser

oSIP的SIP Parser处理的SIP头域(SIP Header fields)及其相应的操作功能列表如下: SIP Header(头域) Accept Accept-Encoding Accept-Language Alert-Info Allow Authentication-Info Authorization Functions(函数名称—简写) set(),get() set(),get(),init(),parse(),2char(),free(),clone() Getelement(),setelement() set(),get() set(),get() set(),get() Init(),set(),parse(),get(),getauth_type(),setauth_type(), Getusername(),setusername(),getrealm(),setrealm(), Getnonce(),setnonce(),geturi(),seturi(),getresponse(), Setresponse(),getdigest(),setdigest(),getalgorithm(), Setalgorithm(),getcnonce(),setcnonce(),getopaque(), Setopaque(),getmessage_qop(),setmessage_qop(), getnonce_count(),setnonce_count(),2char(),free(), clone() set(),get(),parse(),2char(),free(),clone(),getnumber(), setnumber(),gethost(),sethost() set(),get(),init(),parse(),2char(),free(),clone(), geturi(),seturi() set(),get(),init(),parse(),2char(),free(),clone() set(),get(),parse() set(),get() set(),get(),init(),parse(),2char(),free(),clone() set(),get(),init(),parse(),2char(),free(),clone() set(),get(),init(),parse(),2char(),free(),clone(), getnumber(),setnumber(),getmethod(),setmethod() set(),get() set(),get(),init(),parse(),2char(),free(),clone(), ☆ ☆ ☆ ☆ ☆ ☆ Call-ID Call-Info Contact Content-Disposition Content-Encoding Content-Language Content-Length Content-Type CSeq Date Error-Info Expires From ☆ ☆ ☆ ☆ ☆ ☆ ☆ ☆ ☆ ☆ Page 7

联系合同范文客服:xxxxx#qq.com(#替换为@)