From 2a97e9ddfaf93fe55b6a1d10e087b24ba7a48175 Mon Sep 17 00:00:00 2001 From: Tony Garnock-Jones Date: Thu, 16 Dec 2021 23:20:17 +0100 Subject: [PATCH] Updates --- protocols/schema-bundle.bin | 7 ++++--- protocols/schemas/hayes.prs | 20 ++++---------------- protocols/schemas/telephony.prs | 26 ++++++++++++++++++++++++++ 3 files changed, 34 insertions(+), 19 deletions(-) diff --git a/protocols/schema-bundle.bin b/protocols/schema-bundle.bin index bbf6f6f..1ebfcb7 100644 --- a/protocols/schema-bundle.bin +++ b/protocols/schema-bundle.bin @@ -1,7 +1,8 @@ -´³bundle·µ³hayes„´³schema·³version‘³ definitions·³Result´³rec´³lit³result„´³tupleµ´³named³text´³atom³String„„´³named³tag´³refµ„³ MaybeString„„´³named³fields´³refµ„³ MaybeStrings„„„„„³CallType´³orµµ±voice´³lit³voice„„µ±data´³lit³data„„µ±fax´³lit³fax„„„„³ CallState´³orµµ±hold´³lit³hold„„µ±original´³lit³original„„µ±connect´³lit³connect„„µ±incoming´³lit³incoming„„µ±waiting´³lit³waiting„„µ±end´³lit³end„„µ±alerting´³lit³alerting„„„„³ +´³bundle·µ³hayes„´³schema·³version‘³ definitions·³Result´³rec´³lit³result„´³tupleµ´³named³text´³atom³String„„´³named³tag´³refµ„³ MaybeString„„´³named³fields´³refµ„³ MaybeStrings„„„„„³ MaybeString´³orµµ±present´³atom³String„„µ±absent´³lit€„„„„³ MaybeStrings´³orµµ±present´³seqof´³atom³String„„„µ±absent´³lit€„„„„³ ModemPresent´³rec´³lit³modem„´³tupleµ´³lit³hayes„´³named³ +devicePath´³atom³String„„´³named³ dataspace´³embedded´³refµ„³InternalProtocol„„„„„„³ CommandResult´³rec´³lit³command-result„´³tupleµ´³named³ commandText´³atom³String„„´³named³results´³seqof´³refµ„³Result„„„´³named³ finalResult´³atom³String„„„„„³ExecuteCommand´³rec´³lit³execute-command„´³tupleµ´³named³ commandText´³atom³String„„´³named³replyTo´³refµ„³CommandContinuation„„„„„³InternalProtocol³any³CommandContinuation´³orµµ± replyWanted´³embedded´³refµ„³ CommandResult„„„µ± fireAndForget´³lit€„„„„³UnsolicitedResultCode´³rec´³lit³ unsolicited„´³tupleµ´³named³result´³refµ„³Result„„„„„„³ embeddedType€„„µ³ telephony„´³schema·³version‘³ definitions·³CallType´³orµµ±voice´³lit³voice„„µ±data´³lit³data„„µ±fax´³lit³fax„„„„³ CallState´³orµµ±hold´³lit³hold„„µ±original´³lit³original„„µ±connect´³lit³connect„„µ±incoming´³lit³incoming„„µ±waiting´³lit³waiting„„µ±end´³lit³end„„µ±alerting´³lit³alerting„„„„³ ActiveCall´³rec´³lit³ call-state„´³tupleµ´³named³callId´³atom³ SignedInteger„„´³named³ direction´³refµ„³ CallDirection„„´³named³type´³refµ„³CallType„„´³named³peer´³atom³String„„´³named³peerNumberType´³refµ„³ NumberType„„´³named³state´³refµ„³ CallState„„„„„³ AnswerCall´³rec´³lit³ answer-call„´³tupleµ´³named³callId´³atom³ SignedInteger„„„„„³ -NumberType´³orµµ±unknown´³lit³unknown„„µ± international´³lit³ international„„µ±national´³lit³national„„„„³ MaybeString´³orµµ±present´³atom³String„„µ±absent´³lit€„„„„³ MaybeStrings´³orµµ±present´³seqof´³atom³String„„„µ±absent´³lit€„„„„³ ModemPresent´³rec´³lit³modem„´³tupleµ´³named³ -devicePath´³atom³String„„´³named³ dataspace´³embedded´³refµ„³InternalProtocol„„„„„„³ CallDirection´³orµµ±mo´³lit³mo„„µ±mt´³lit³mt„„„„³ CommandResult´³rec´³lit³command-result„´³tupleµ´³named³ commandText´³atom³String„„´³named³results´³seqof´³refµ„³Result„„„´³named³ finalResult´³atom³String„„„„„³DisconnectCall´³rec´³lit³disconnect-call„´³tupleµ´³named³callId´³atom³ SignedInteger„„„„„³ExecuteCommand´³rec´³lit³execute-command„´³tupleµ´³named³ commandText´³atom³String„„´³named³replyTo´³embedded´³refµ„³ CommandResult„„„„„„³InternalProtocol³any³UnsolicitedResultCode´³rec´³lit³ unsolicited„´³tupleµ´³named³result´³refµ„³Result„„„„„„³ embeddedType€„„µ³ telephony„´³schema·³version‘³ definitions·„³ embeddedType€„„µ³usersAndGroups„´³schema·³version‘³ definitions·³Spec´³orµµ± userAccount´³lit³user„„µ± systemAccount´³lit³system„„µ±id´³atom³ SignedInteger„„„„³Group´³rec´³lit³grent„´³tupleµ´³dict·³gid´³named³gid´³atom³ SignedInteger„„³name´³named³name´³atom³String„„„„„„„³Account´³rec´³lit³pwent„´³tupleµ´³dict·³gid´³named³gid´³atom³ SignedInteger„„³uid´³named³uid´³atom³ SignedInteger„„³home´³named³home´³atom³String„„³info´³named³info´³atom³String„„³name´³named³name´³atom³String„„³shell´³named³shell´³atom³String„„„„„„„³ EnsureGroup´³rec´³lit³ ensure-group„´³tupleµ´³named³name´³atom³String„„´³named³spec´³refµ„³Spec„„„„„³ GroupMember´³rec´³lit³ group-member„´³tupleµ´³named³uid´³atom³ SignedInteger„„´³named³gid´³atom³ SignedInteger„„„„„³ EnsureAccount´³rec´³lit³ensure-account„´³tupleµ´³named³name´³atom³String„„´³named³spec´³refµ„³Spec„„„„„„³ embeddedType€„„„„ \ No newline at end of file +NumberType´³orµµ±unknown´³lit³unknown„„µ± international´³lit³ international„„µ±national´³lit³national„„„„³ ModemPresent´³rec´³lit³modem„´³tupleµ´³named³type´³atom³Symbol„„´³named³ +devicePath´³atom³String„„´³named³ dataspace´³embedded³any„„„„„³ ReleaseCause´³orµµ±unassignedNumber´³lit³unassignedNumber„„µ±normal´³lit³normal„„µ±busy´³lit³busy„„µ±noUserResponding´³lit³noUserResponding„„µ± callRejected´³lit³ callRejected„„µ±destinationOutOfOrder´³lit³destinationOutOfOrder„„µ±normalUnspecified´³lit³normalUnspecified„„µ±incompatibleDestination´³lit³incompatibleDestination„„„„³ CallDirection´³orµµ±mo´³lit³mo„„µ±mt´³lit³mt„„„„³CallIdSelector´³orµµ± specificCall´³atom³ SignedInteger„„µ±allCalls´³lit³all„„„„³DisconnectCall´³rec´³lit³disconnect-call„´³tupleµ´³named³callId´³refµ„³CallIdSelector„„´³named³cause´³refµ„³ ReleaseCause„„„„„„³ embeddedType€„„µ³usersAndGroups„´³schema·³version‘³ definitions·³Spec´³orµµ± userAccount´³lit³user„„µ± systemAccount´³lit³system„„µ±id´³atom³ SignedInteger„„„„³Group´³rec´³lit³grent„´³tupleµ´³dict·³gid´³named³gid´³atom³ SignedInteger„„³name´³named³name´³atom³String„„„„„„„³Account´³rec´³lit³pwent„´³tupleµ´³dict·³gid´³named³gid´³atom³ SignedInteger„„³uid´³named³uid´³atom³ SignedInteger„„³home´³named³home´³atom³String„„³info´³named³info´³atom³String„„³name´³named³name´³atom³String„„³shell´³named³shell´³atom³String„„„„„„„³ EnsureGroup´³rec´³lit³ ensure-group„´³tupleµ´³named³name´³atom³String„„´³named³spec´³refµ„³Spec„„„„„³ GroupMember´³rec´³lit³ group-member„´³tupleµ´³named³uid´³atom³ SignedInteger„„´³named³gid´³atom³ SignedInteger„„„„„³ EnsureAccount´³rec´³lit³ensure-account„´³tupleµ´³named³name´³atom³String„„´³named³spec´³refµ„³Spec„„„„„„³ embeddedType€„„„„ \ No newline at end of file diff --git a/protocols/schemas/hayes.prs b/protocols/schemas/hayes.prs index 930c2e1..296be00 100644 --- a/protocols/schemas/hayes.prs +++ b/protocols/schemas/hayes.prs @@ -1,8 +1,8 @@ version 1 . ; Definitions for the internal workings of the Hayes modem driver. -; Assertion. Declares presence of a modem. -ModemPresent = . +; Assertion. Declares presence of a Hayes modem. +ModemPresent = . ; TODO not yet properly specified InternalProtocol = any . @@ -11,7 +11,8 @@ InternalProtocol = any . UnsolicitedResultCode = . ; Assertion. Asks the modem to execute the given command. -ExecuteCommand = . +ExecuteCommand = . +CommandContinuation = @replyWanted #!CommandResult / @fireAndForget #f . ; Assertion. Describes the result of a command execution. CommandResult = . @@ -26,16 +27,3 @@ CommandResult = . MaybeString = @present string / @absent #f . MaybeStrings = @present [string ...] / @absent #f . - -; Assertion. Describes an ongoing call. -ActiveCall = . -CallDirection = =mo / =mt . -CallType = =voice / =data / =fax . -NumberType = =unknown / =international / =national . -CallState = =hold / =original / =connect / =incoming / =waiting / =end / =alerting . - -; Message. Triggers call answering. -AnswerCall = . - -; Message. Triggers call rejection or disconnection. -DisconnectCall = . diff --git a/protocols/schemas/telephony.prs b/protocols/schemas/telephony.prs index 0d2446a..b15715c 100644 --- a/protocols/schemas/telephony.prs +++ b/protocols/schemas/telephony.prs @@ -1,2 +1,28 @@ version 1 . +; Definitions for non-modem-hardware-specific telephony interactions. +ModemPresent = . + +; Assertion. Describes an ongoing call. +ActiveCall = . +CallDirection = =mo / =mt . +CallType = =voice / =data / =fax . +NumberType = =unknown / =international / =national . +CallState = =hold / =original / =connect / =incoming / =waiting / =end / =alerting . + +; Message. Triggers call answering. +AnswerCall = . + +; Message. Triggers call rejection or disconnection. +DisconnectCall = . +CallIdSelector = @specificCall int / @allCalls =all . +ReleaseCause = +/ =unassignedNumber +/ =normal +/ =busy +/ =noUserResponding +/ =callRejected +/ =destinationOutOfOrder +/ =normalUnspecified +/ =incompatibleDestination +.