<> <> <> FinchSmartsImpl Note: all positions are excluding comments. <Party calls>> Thrush.NB: TYPE = ATOM; <<{>> <<$success, -- call succeeded, party may be in new state.>> <<>> <> <<$stateMismatch, -- the most common problem; your information's out of date.>> <<$notInConv, -- you're not a party to this conversation, and call requires it.>> <<$noSuchConv, -- named conversation doesn't exist.>> <<$noSuchParty, -- named (own) party doesn't exist.>> <<..system inconsistency or bug in caller>> <<$partyAlreadyActive, -- Not allowed to be active in two conversations>> <<$convIdle, -- not allowed to return to a conversation everyone has abandoned!>> <<$noSuchSmarts, -- get the drift?>> <<$noSuchParty2, -- second named (called) party doesn't exist.>> <<$narcissism, -- attempt to connect to self rejected <>>> <<$convNotActive, -- activity requested that is only satisfiable if requesting party active>> <<$convStillActive -- can't destroy it if remaining connections are not orphans.,>> <<...,>> <<..trunk party busy for GetParty>> <> <<$noIdentSupplied, -- not enough information to turn name or number into party, and so on.>> <<$noEntryFound, -- no RName information found in white pages data base for named individual.>> <<$noTrunkParty, -- corresponding to supplied party>> <<$couldntAuthenticate, -- password verification problem during initialization>> <<$couldntConnect, -- interface import or other similar problem during initialization>> <<$noNameAvailable, -- can't find the name of a party>> <<..system inconsistency being reported>> <<$interfaceError, -- call had an invalid parameter or combination of parameters>> <<$voiceTerminalBusy -- fb/bd conflict>> <<};>> PlaceCall 5676..5712: [nb, calledPartyID] _ThParty.GetParty[...] SELECT nb FROM $noSuchParty2, $noIdentSupplied <> <> <> <> <> <> <> 5884..5932: [nb, calledPartyID] _ ThParty.GetPartyFromNumber[...] SELECT nb FROM $success, $noSuchParty2, $narcissism <> <> <> <> <> <> Feep 6655..6717: [nb, cDesc.feepInterfaceSpec] _ ThParty.LookupServiceInterface[...] IF nb=$success THEN... <> <> <> 7049..7077: nb _ LarkFeepRpcControl.Feep[...] -- impl by LarkTrunkSmartsImpl.FeepOp IF nb # $success THEN <> <> <> <> IdentifyVisitor 7692..7731: [nb, visitingPartyID] _ThParty.GetParty[...] IF nb#$success THEN <> <> <> <> <> <> <> 7812..7830: nb _ ThParty.Visit[...] IF nb#$success THEN <> <> <> <> <> ReleaseVisitor 8097..8136: [nb, visitingPartyID] _ThParty.GetParty[...] IF nb=$success <> <> <> <> <> <> <> VoiceConnect 8992..9030: [nb, calledPartyID] _ ThParty.GetParty[...] IF nb=$success THEN <> <> <> <> <> <> <> 9126..9147: [nb, cDesc] _ Connect[...] IF nb=$success THEN <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <>> <<>> LookupServiceInterface [nb, partyID] _ThParty.GetParty[...] IF nb#$success THEN <> <> <> <> <> <> <> RETURN[nb: $noSuchParty2, ...] NoteNewState 11210..11251: [nb, cInfo] _ ThParty.GetConversationInfo[...] <> <> nb # $success => [nb, cDesc.partyInfo] _ ThParty.GetPartyInfo[...] IF nb#$success THEN <> <> <> <> Request 12772..12804: [nb, convEvent] _ ThParty.Advance[...] SELECT nb FROM $success, $stateMismatch <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> Connect [nb, convEvent] _ ThParty.CreateConversation[...] IF nb = $success THEN <> <> <> <> <>> <> nb_ThParty.Alert[...] SELECT nb FROM $success, $stateMismatch <> <> <> <> <> <> <> <> <> <> <> <> <>> nb_Request[cDesc, $failed, $error, "Conversation already in progress"]; <> <> <> <> <> <> <> <> <> <> <> WaitForActive nb_Request[cDesc, $failed, $error, "Finch failed to connect to voice service."]; IF nb=$success THEN nb_$timedOut; <> <> <> <> <> <> <> <> <> <> <> InitFinchSmarts [nb, credentials]_ThParty.Register[...] IF nb=$success THEN <> <> <> <> <> <> <> <> <> <> <> nb _ ThParty.Enable[...] IF nb#$success THEN <> <> <> UninitFinchSmarts [-- nb --]_ThParty.Deregister[...] <> <> <>