?? dum-serverinvite-state.dot
字號:
// names start with cap are states// names start with app:: are appliction handlers// names start with dum:: are dum interface to application// names start with lower case are actions// names start with on are events// Note: not all Assert transitions are shown heredigraph UAS { rankdir=LR; node [shape = box]; ////////////////////////////////////////// // UAS - offer in INVITE Start -> Offer [ label = "onInvite-offer/app::onNewSession,app::onOffer" ]; Offer -> OfferProvidedAnswer [ label = "dum::provideAnswer/store::answer" ]; Offer -> EarlyOffer [ label = "dum::provisional/send::1xx,timer::1xx" ]; // include early-media Offer -> Assert [ label = "dum::accept/assert" ]; Offer -> Terminated [ label = "dum::end/send::4XXI,app::onTerminated,dum::destroy" ]; Offer -> Terminated [ label = "dum::reject/send::4XXI,app::onTerminated,dum::destroy" ]; Offer -> Terminated [ label = "dum::redirect/send::3XXI,app::onTerminated,dum::destroy" ]; Offer -> Terminated [ label = "onCancel/app::onTerminated,send::200C,send::487I" ]; Offer -> Terminated [ label = "onBye/app::onTerminated,send::200B,send::487I" ]; OfferProvidedAnswer -> Accepted [ label = "dum::accept/send::2xx-answer,timer::2xx,timer::NoAck,app::onConnected" ]; OfferProvidedAnswer -> EarlyProvidedAnswer [ label = "dum::provisional/send::1xx,timer::1xx" ]; // include early-media OfferProvidedAnswer -> Terminated [ label = "dum::end/send::4XXI,app::onTerminated,dum::destroy" ]; OfferProvidedAnswer -> Terminated [ label = "dum::reject/send::4XXI,app::onTerminated,dum::destroy" ]; OfferProvidedAnswer -> Terminated [ label = "dum::redirect/send::3XXI,app::onTerminated,dum::destroy" ]; OfferProvidedAnswer -> Terminated [ label = "onCancel/app::onTerminated,send::200C,send::487I" ]; OfferProvidedAnswer -> Terminated [ label = "onBye/app::onTerminated,send::200B,send::487I" ]; Accepted -> Connected [ label = "onACK" ]; Accepted -> Accepted [ label = "onCANCEL/send::200C" ]; Accepted -> Accepted [ label = "onTimer2xx/resend::2XXI" ]; Accepted -> Terminated [ label = "onACK-answer/send::BYE" ]; Accepted -> Terminated [ label = "onTimerNoACK/app::onAckNotReceived(),app::onTerminated(GeneralFailure),send::BYE" ]; Accepted -> Terminated [ label = "onBye/app::onTerminated,send::200B" ]; Accepted -> WaitingToHangup [ label = "dum::end" ]; Accepted -> WaitingToOffer [ label = "dum::provideOffer/saveOffer" ]; Accepted -> WaitingToRequestOffer [ label = "dum::requestOffer/saveOffer" ]; WaitingToOffer -> SentUpdate [ label = "onACK/send::UPDATE-offer" ]; WaitingToOffer -> SentReinvite [ label = "onACK/send::INVITE-offer" ]; WaitingToOffer -> WaitingToOffer [ label = "onCANCEL/send::200C" ]; WaitingToOffer -> WaitingToOffer [ label = "onTimer2xx/resend::2XXI" ]; WaitingToOffer -> Terminated [ label = "onACK-answer/send::BYE" ]; WaitingToOffer -> Terminated [ label = "onTimerNoACK/app::onAckNotReceived(),app::onTerminated(GeneralFailure),send::BYE" ]; WaitingToOffer -> Terminated [ label = "onBye/app::onTerminated,send::200B" ]; WaitingToOffer -> WaitingToHangup [ label = "dum::end" ]; WaitingToRequestOffer -> SentReinviteNoOffer [ label = "onACK/send::INVITE" ]; WaitingToRequestOffer -> WaitingToRequestOffer [ label = "onCANCEL/send::200C" ]; WaitingToRequestOffer -> WaitingToRequestOffer [ label = "onTimer2xx/resend::2XXI" ]; WaitingToRequestOffer -> Terminated [ label = "onACK-answer/send::BYE" ]; WaitingToRequestOffer -> Terminated [ label = "onTimerNoACK/app::onAckNotReceived(),app::onTerminated(GeneralFailure),send::BYE" ]; WaitingToRequestOffer -> Terminated [ label = "onBye/app::onTerminated,send::200B" ]; WaitingToRequestOffer -> WaitingToHangup [ label = "dum::end" ]; EarlyOffer -> EarlyOffer [ label = "onTimer1xx/resend::1xx" ]; EarlyOffer -> EarlyOffer [ label = "dum::provisional/send::1xx,timer::1xx" ]; EarlyOffer -> EarlyProvidedAnswer [ label = "dum::provideAnswer/store::answer" ]; EarlyOffer -> Assert [ label = "dum::accept/assert" ]; EarlyOffer -> Terminated [ label = "dum::end/send::4XXI,app::onTerminated,dum::destroy" ]; EarlyOffer -> Terminated [ label = "dum::reject/send::4XXI,app::onTerminated,dum::destroy" ]; EarlyOffer -> Terminated [ label = "dum::redirect/send::3XXI,app::onTerminated,dum::destroy" ]; EarlyOffer -> Terminated [ label = "onCancel/send::200C,send::487I" ]; EarlyOffer -> Terminated [ label = "onBye/app::onTerminated,send::200B,send::487I" ]; EarlyProvidedAnswer -> EarlyProvidedAnswer [ label = "dum::provisional/send::1xx,timer::1xx" ]; // include early-media EarlyProvidedAnswer -> Accepted [ label = "dum::accept/send::2xx-answer,timer::2xx,timer::NoAck,app::onConnected" ]; EarlyProvidedAnswer -> Terminated [ label = "dum::end/send::4XXI,app::onTerminated,dum::destroy" ]; EarlyProvidedAnswer -> Terminated [ label = "dum::reject/send::4XXI,app::onTerminated,dum::destroy" ]; EarlyProvidedAnswer -> Terminated [ label = "dum::redirect/send::3XXI,app::onTerminated,dum::destroy" ]; EarlyProvidedAnswer -> Terminated [ label = "onCancel/app::onTerminated,send::200C,send::487I" ]; EarlyProvidedAnswer -> Terminated [ label = "onBye/app::onTerminated,send::200B,send::487I" ]; ////////////////////////////////////////// ////////////////////////////////////////// // UAS - no offer in INVITE Start -> NoOffer [ label = "onInvite/app::onNewSession,app::onOfferRequired" ]; NoOffer -> ProvidedOffer [ label = "dum::provideOffer/store::offer" ]; NoOffer -> EarlyNoOffer [ label = "dum::provisional/send::1xx,timer::1xx" ]; // include early-media NoOffer -> Assert [ label = "dum::accept/assert" ]; NoOffer -> Terminated [ label = "dum::end/send::4XXI,app::onTerminated,dum::destroy" ]; NoOffer -> Terminated [ label = "dum::reject/send::4XXI,app::onTerminated,dum::destroy" ]; NoOffer -> Terminated [ label = "dum::redirect/send::3XXI,app::onTerminated,dum::destroy" ]; NoOffer -> Terminated [ label = "onCancel/app::onTerminated,send::200C,send::487I,dum::destroy" ]; NoOffer -> Terminated [ label = "onBye/app::onTerminated,send::200B,send::487I,dum::destroy" ]; ProvidedOffer -> EarlyProvidedOffer [ label = "dum::provisional/send::1xx-early,timer::1xx" ]; ProvidedOffer -> AcceptedWaitingAnswer [ label = "dum::accept/send::2XXI-offer,timer::2xx,timer::NoAck" ]; ProvidedOffer -> Terminated [ label = "dum::end/send::4XXI,app::onTerminated,dum::destroy" ]; ProvidedOffer -> Terminated [ label = "dum::reject/send::4XXI,app::onTerminated,dum::destroy" ]; ProvidedOffer -> Terminated [ label = "dum::redirect/send::3XXI,app::onTerminated,dum::destroy" ]; ProvidedOffer -> Terminated [ label = "onCancel/app::onTerminated,send::200C,send::487I,dum::destroy" ]; ProvidedOffer -> Terminated [ label = "onBye/app::onTerminated,send::200B,send::487I,dum::destroy" ]; EarlyNoOffer -> EarlyNoOffer [ label = "onTimer1xx/resend::1xx" ]; EarlyNoOffer -> EarlyNoOffer [ label = "dum::provisional/send::1xx,timer::1xx" ]; EarlyNoOffer -> EarlyProvidedOffer [ label = "dum::provideOffer/store::offer" ]; EarlyNoOffer -> Assert [ label = "dum::accept/assert" ]; EarlyNoOffer -> Terminated [ label = "dum::end/send::4XXI,app::onTerminated,dum::destroy" ]; EarlyNoOffer -> Terminated [ label = "dum::reject/send::4XXI,app::onTerminated,dum::destroy" ]; EarlyNoOffer -> Terminated [ label = "dum::redirect/send::3XXI,app::onTerminated,dum::destroy" ]; EarlyNoOffer -> Terminated [ label = "onCancel/app::onTerminated,send::200C,send::487I,dum::destroy" ]; EarlyNoOffer -> Terminated [ label = "onBye/app::onTerminated,send::200B,send::487I,dum::destroy" ]; EarlyProvidedOffer -> EarlyProvidedOffer [ label = "dum::provisional/send::1xx-early,timer::1xx" ]; EarlyProvidedOffer -> AcceptedWaitingAnswer [ label = "dum::accept/send::2XXI-offer,timer::2xx,timer::NoAck" ]; EarlyProvidedOffer -> Terminated [ label = "dum::end/send::4XXI,app::onTerminated,dum::destroy" ];
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -