第九課 用NMS通信公司產(chǎn)品實(shí)現SCF和SRF功能
NMS通信公司提供的SS7產(chǎn)品已經(jīng)實(shí)現了MTP1、MTP2、MTP3、SCCP、TCAP、ISUP、TUP等各層的功能,開(kāi)發(fā)人員只要在此基礎上開(kāi)發(fā)一些INAP函數就可以實(shí)現相應的智能網(wǎng)業(yè)務(wù)。下面以實(shí)現SCF和SRF功能為例,說(shuō)明軟硬件環(huán)境、實(shí)現業(yè)務(wù)的功能框圖、INAP函數的描述。
硬件需求:
軟件需求:
功能框圖:
圖中所示的智能業(yè)務(wù)流程:
SSF中一個(gè)帶有業(yè)務(wù)號或撥號前綴的呼入觸發(fā)了智能業(yè)務(wù)的開(kāi)始,SSF向SCF發(fā)出觸發(fā)消息(InitialDP),SCF內有業(yè)務(wù)的控制流程(GSL),根據業(yè)務(wù)的控制流程SCF向SSF發(fā)出命令ConnectToResource,該命令要求SSF把呼入接通到SRF,由SRF向終端用戶(hù)播放錄音提示。
SSF收到從SCF發(fā)來(lái)的ConnectToResource命令,用ISUP協(xié)議和SRF通信,把呼叫接通到SRF的提示音播放設備。(粉紅色虛線(xiàn))
SCF同時(shí)向SRF發(fā)出PromptAndCollectUserInformation指令(紅色虛線(xiàn))讓SRF播放錄音提示并收集終端用戶(hù)的輸入信息(個(gè)人標識和被叫號碼)。
SRF收集終端用戶(hù)的輸入信息后把信息返回SCF(綠色虛線(xiàn)),SCF向SSF發(fā)出DisconnectForwardConnection指令,要求SSF拆除到SRF的連接。
以上是SCF對SSF控制的一個(gè)完整循環(huán),之后的呼叫過(guò)程圖中沒(méi)有畫(huà)出,應該是:SCF向SSF發(fā)出指示要求SSF把呼叫接通至被叫,然后SCF向SSF發(fā)出RequestReportBCSMEvent ,要求SSF報告呼叫狀態(tài);當被叫掛機后,SCF會(huì )再向SSF發(fā)出ConnectToResource命令,重復上面SCF對SSF的控制循環(huán),直到主叫用戶(hù)掛機。
給出用ASN.1語(yǔ)言描述的業(yè)務(wù)流程中各操作:
initialDP {PARAMETERS-BOUND : bound} OPERATION ::= {
ARGUMENT InitialDPArg {bound}
RETURN RESULT FALSE
ERRORS {missingCustomerRecord |
missingParameter |
parameterOutOfRange |
systemFailure |
taskRefused |
unexpectedComponentSequence |
unexpectedDataValue |
unexpectedParameter}
CODE opcode-initialDP
}
--方向:SSF -> SCF, 定時(shí)器:T idp
--這一操作發(fā)生在TDP觸發(fā)之后,用于指示業(yè)務(wù)請求。
InitialDPArg {PARAMETERS-BOUND : bound} ::= SEQUENCE {
serviceKey [0] ServiceKey ,
calledPartyNumber [2] CalledPartyNumber {bound} OPTIONAL,
callingPartyNumber [3] CallingPartyNumber {bound} OPTIONAL,
callingPartyBusinessGroupID [4] CallingPartyBusinessGroupID OPTIONAL,
callingPartysCategory [5] CallingPartysCategory OPTIONAL,
cGEncountered [7] CGEncountered OPTIONAL,
iPSSPCapabilities [8] IPSSPCapabilities {bound} OPTIONAL,
iPAvailable [9] IPAvailable {bound} OPTIONAL,
locationNumber [10] LocationNumber {bound} OPTIONAL,
originalCalledPartyID [12] OriginalCalledPartyID {bound} OPTIONAL,
terminalType [14] TerminalType OPTIONAL,
extensions [15] SEQUENCE SIZE(1..bound.&numOfExtensions) OF
ExtensionField {bound} OPTIONAL,
highLayerCompatibility [23] HighLayerCompatibility OPTIONAL,
serviceInteractionIndicators [24] ServiceInteractionIndicators {bound} OPTIONAL,
additionalCallingPartyNumber [25] AdditionalCallingPartyNumber {bound} OPTIONAL,
forwardCallIndicators [26] ForwardCallIndicators OPTIONAL,
bearerCapability [27] BearerCapability {bound} OPTIONAL,
eventTypeBCSM [28] EventTypeBCSM OPTIONAL,
redirectingPartyID [29] RedirectingPartyID {bound} OPTIONAL,
redirectionInformation [30] RedirectionInformation OPTIONAL,
cause [17] Cause {bound} OPTIONAL,
iSDNAccessRelatedInformation [21] ISDNAccessRelatedInformation OPTIONAL,
iNServiceCompatibilityIndication [22] INServiceCompatibilityIndication {bound} OPTIONAL,
genericNumbers [31] GenericNumbers {bound} OPTIONAL,
serviceInteractionIndicatorsTwo [32] ServiceInteractionIndicatorsTwo OPTIONAL,
forwardGVNS [33] ForwardGVNS {bound} OPTIONAL,
createdCallSegmentAssociation [34] CSAID {bound} OPTIONAL,
uSIServiceIndicator [35] USIServiceIndicator {bound} OPTIONAL,
uSIInformation [36] USIInformation {bound} OPTIONAL,
carrier [37] Carrier OPTIONAL,
iMSI [50] IMSI OPTIONAL,
subscriberState [51] SubscriberState OPTIONAL,
locationInformation [52] LocationInformation OPTIONAL,
ext-basicServiceCode [53] Ext-BasicServiceCode OPTIONAL,
callReferenceNumber [54] CallReferenceNumber OPTIONAL,
mscAddress [55] ISDN-AddressString OPTIONAL,
calledPartyBCDNumber [56] CalledPartyBCDNumber OPTIONAL,
...
}
-- OPTIONAL for iPSSPCapabilities, iPAvailable, cGEncountered, and miscCallInfo denotes network
-- operator specific use.
-- OPTIONAL for callingPartyNumber, and callingPartysCategory refer to clause 18 for the trigger
-- detection point processing rules to specify when these parameters are included in the message.
connectToResource {PARAMETERS-BOUND : bound} OPERATION ::= {
ARGUMENT ConnectToResourceArg {bound}
RETURN RESULT FALSE
ERRORS {missingParameter |
systemFailure |
taskRefused |
unexpectedComponentSequence |
unexpectedDataValue |
unexpectedParameter|
unknownLegID}
CODE opcode-connectToResource
}
-- Direction: SCF Æ SSF, Timer: T ctr
-- This operation is used to connect a call from the SSP to the physical entity containing the SRF.
-- Refer to clause 18 for a description of the procedures associated with this operation.
ConnectToResourceArg {PARAMETERS-BOUND : bound} ::= SEQUENCE {
resourceAddress CHOICE {
ipRoutingAddress [0] IPRoutingAddress {bound},
legID [1] LegID,
ipAddressAndLegID [2] SEQUENCE {
ipRoutingAddress [0] IPRoutingAddress {bound},
legID [1] LegID,
...
},
none [3] NULL,
callSegmentID [5] CallSegmentID {bound},
ipAddressAndCallSegment [6] SEQUENCE {
ipRoutingAddress [0] IPRoutingAddress {bound},
callSegmentID [1] CallSegmentID {bound},
...
}
},
extensions [4] SEQUENCE SIZE(1..bound.&numOfExtensions) OF
ExtensionField {bound} OPTIONAL,
serviceInteractionIndicators [30] ServiceInteractionIndicators {bound} OPTIONAL,
serviceInteractionIndicatorsTwo [7] ServiceInteractionIndicatorsTwo OPTIONAL,
...
}
disconnectForwardConnection OPERATION ::= {
RETURN RESULT FALSE
ERRORS {systemFailure |
taskRefused |
unexpectedComponentSequence}
CODE opcode-disconnectForwardConnection
}
-- Direction: SCF Æ SSF, Timer: T dfc
-- This operation is used to disconnect a forward temporary connection or a
-- connection to a resource. Refer to clause 18 for a description of the procedures
-- associated with this operation.
-- This operation is not valid for a multi call segment CSA.
connect {PARAMETERS-BOUND : bound} OPERATION ::= {
ARGUMENT ConnectArg {bound}
RETURN RESULT FALSE
ERRORS {missingParameter |
parameterOutOfRange |
systemFailure |
taskRefused |
unexpectedComponentSequence |
unexpectedDataValue |
unexpectedParameter}
CODE opcode-connect
}
-- Direction: SCF ? SSF, Timer: T con
-- This operation is used to request the SSF to perform the call processing actions to route or
-- forward a call to a specified destination. To do so, the SSF may or may not use destination
-- information from the calling party (e.g. dialed digits) and existing call setup information
-- (e.g. route index to a list of trunk groups), depending on the information provided by the SCF.
-- - When address information is only included in the Connect operation, call processing resumes at
-- the Analyzed_Information PIC in the O-BCSM.
-- - When address information and routing information is included, call processing resumes at the
-- Select_Route PIC.
ConnectArg {PARAMETERS-BOUND : bound} ::= SEQUENCE {
destinationRoutingAddress [0] DestinationRoutingAddress {bound},
alertingPattern [1] AlertingPattern OPTIONAL,
correlationID [2] CorrelationID {bound} OPTIONAL,
cutAndPaste [3] CutAndPaste OPTIONAL,
iSDNAccessRelatedInformation [5] ISDNAccessRelatedInformation{bound} OPTIONAL,
originalCalledPartyID [6] OriginalCalledPartyID {bound} OPTIONAL,
routeList [7] RouteList {bound} OPTIONAL,
scfID [8] ScfID {bound} OPTIONAL,
extensions [10] SEQUENCE SIZE(1..bound.&numOfExtensions) OF
ExtensionField {bound} OPTIONAL,
carrier [11] Carrier{bound} OPTIONAL,
serviceInteractionIndicators [26] ServiceInteractionIndicators {bound} OPTIONAL,
callingPartyNumber [27] CallingPartyNumber {bound} OPTIONAL,
callingPartysCategory [28] CallingPartysCategory OPTIONAL,
redirectingPartyID [29] RedirectingPartyID {bound} OPTIONAL,
redirectionInformation [30] RedirectionInformation OPTIONAL,
displayInformation [12] DisplayInformation {bound} OPTIONAL,
forwardCallIndicators [13] ForwardCallIndicators OPTIONAL,
genericNumbers [14] GenericNumbers {bound} OPTIONAL,
serviceInteractionIndicatorsTwo [15] ServiceInteractionIndicatorsTwo OPTIONAL
iNServiceCompatibilityResponse [16] INServiceCompatibilityResponse OPTIONAL,
forwardGVNS [17] ForwardGVNS {bound} OPTIONAL,
backwardGVNS [18] BackwardGVNS {bound} OPTIONAL,
callSegmentID [20] CallSegmentID {bound} OPTIONAL,
legToBeCreated [21] LegID OPTIONAL,
locationNumber [50] LocationNumber {bound} OPTIONAL,
bearerCapability [51] BearerCapability {bound} OPTIONAL,
suppressionOfAnnouncement [55] SuppressionOfAnnouncement OPTIONAL,
oCSIApplicable [56] OCSIApplicable OPTIONAL,
...
}
releaseCall {PARAMETERS-BOUND : bound} OPERATION ::= {
ARGUMENT ReleaseCallArg {bound}
RETURN RESULT FALSE
ALWAYS RESPONDS FALSE
CODE opcode-releaseCall
}
-- Direction: SCF Æ SSF, Timer: T rc
-- This operation is used to tear down an existing call at any phase of the call
-- for all parties involved in the call.
亚洲精品网站在线观看不卡无广告,国产a不卡片精品免费观看,欧美亚洲一区二区三区在线,国产一区二区三区日韩 普安县| 富民县| 高碑店市| 黄平县| 黎城县| 新营市| 九寨沟县| 新绛县| 紫阳县| 阿鲁科尔沁旗| 龙川县| 波密县| 涟水县| 龙海市| 天全县| 新乡县| 南昌市| 吉林市| 科技| 通渭县| 元阳县| 安仁县| 太谷县| 蒲江县| 平山县| 德江县| 章丘市| 黔西| 东安县| 巴楚县| 太仆寺旗| 吉首市| 靖远县| 诸暨市| 平乐县| 嘉峪关市| 德清县| 阳高县| 沽源县| 汪清县| 西安市| http://444 http://444 http://444 http://444 http://444 http://444