Eventtyp-Definitionen
Grundlegende Typdefinitionen
////////////////////////////////////////////////////////////////////////////////
// IDL-Interfaces fuer das Projekt CorSiCA
// CORBA-based Simlation Concept for IN Applications
// (c) Projektgruppe CorSiCA
// Barbara Burkhard, Oliver Becker, Christian Priebe, Dirk Blaschke,
// Long Tran Thanh, Knut Conrad, Tuan Nguyen Quoc
// Version 2 (Juni 1998)
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
//
// types.hh: einige nuetzliche Typdefinitionen, die gleichzeitig fuer
// IDL-Definitionen, Eventtypen und Templates gelten
//
// Darf nur in corsica.idl includiert werden!
//
////////////////////////////////////////////////////////////////////////////////
typedef string Address; // "+ < Land > + < Ort > + < Rufnummer >"
typedef string Date;
typedef long Time;
typedef short ID;
enum Types {
BOOLEAN, CHAR, SHORT, LONG, FLOAT, DOUBLE, STRING, ENUM, TABLE
};
enum Language {
ENGLISH, FRENCH, GERMAN, RUSSIAN, UNKNOWN
};
enum ChargeType {
ChargeCaller, ChargeCallee, ChargeSubscriber, ChargeAccount,
ChargePayphone, ChargeCard
};
enum DP {
O_ATTEMPT_AUTHORIZED, COLLECTED_INFO, ANALYSED_INFO, O_ANSWER,
O_MID_CALL, O_DISCONNECT, O_ABANDON, ROUTE_SELECT_FAILURE,
O_CALLED_PARTY_BUSY, O_NO_ANSWER, T_ATTEMPT_AUTHORIZED, T_ANSWER,
T_MID_CALL, T_NO_ANSWER, T_CALLED_PARTY_BUSY, T_ABANDON,T_DISCONNECT
};
enum DeviceStatus {
NO_DEVICE, HOOK_ON, HOOK_OFF
};
Basis-Eventtyp
event Event {}
Rufbezogene Eventtypen
include "types.hh"
include "event.evt"
event CallRelatedEvent : Event {}
// *** Events an die Adapter-Komponente ***
// Eine Dienstkomponente teilt durch ein InputReqEvent mit, dass sie auf
// Nutzereingaben einer bestimmten Laenge n wartet. Liegen Eingaben mind.
// dieser Laenge vor, wird das Anfangsstueck des Puffers mit der Laenge n aus
// dem Puffer entfernt und als InputEvent bereitgestellt.
event InputReqEvent : CallRelatedEvent {
Address from; // Fordert Input der Laenge min...max an
short min; // vom Teilnehmer mit der Adresse from
short max; // from= "" zeigt an, dass die Eingabe vom
char term; // Ausloeser des IN-Rufs gelesen werden soll
} // term=Endezeichen
/*** alte Version
event InputReqEvent : CallRelatedEvent {
// Fordert Input der Laenge length an
short length; // vom Teilnehmer mit der Adresse from
Address from; // from= "" zeigt an, dass die Eingabe vom
// Ausloeser des IN-Rufs gelesen werden soll
}
***/
event AnnReqEvent : CallRelatedEvent {
long annID; // Kennung der zu spielenden Ansage
Language lang; // Sprachkennzeichen
Address for; // Adresse des Endgeraetes, dem die Ansage
// vorgespielt werden soll. Die Angabe von "" (leer)
// meint den Ausloeser des IN-Rufs.
}
event AnnReqVarEvent : AnnReqEvent {
string param1; // Uebergabe von max. 3 Strings als
string param2; // variable Anteile einer Ansage
string param3;
}
event ConnectReqEvent : CallRelatedEvent {
Address dest;
}
event ChargeEvent : CallRelatedEvent {
short tariff;
short units;
ChargeType type;
string account;
short amount;
}
event SetTriggerReqEvent : CallRelatedEvent {
DP point;
ID service;
}
event UnsetTriggerReqEvent : CallRelatedEvent {
DP point;
ID service;
}
event CurrentStatusReqEvent : CallRelatedEvent {
Address addr;
}
// *** Events von der Adapter-Komponente ***
event InputEvent : CallRelatedEvent {
string input; // liefert Input
Address from;
}
event AnnAckEvent : CallRelatedEvent {
long annID; // bestaetigt das Abspielen der
Language lang; // geforderten Ansage
Address for;
}
event ConfigDoneEvent : CallRelatedEvent {
// wird vom Konfigurator erzeugt, wenn der
// Dienst fertig konfiguriert ist;
}
event CallStartEvent : CallRelatedEvent {
// ein (neuer) IN-Ruf ist eingegangen
}
event ConnectedEvent : CallRelatedEvent {
Address connected;
Time time;
}
event DisconnectedEvent : CallRelatedEvent {
Address disconnected;
Time time;
}
event HookOnEvent : CallRelatedEvent {
Address addr;
}
event HookOffEvent : CallRelatedEvent {
Address addr;
}
event NoAnswerEvent : CallRelatedEvent {
Address destination;
}
event BusyEvent : CallRelatedEvent {
Address destination;
}
event ForwardedEvent : CallRelatedEvent {
Address destination;
Address to;
}
event SetTriggerAckEvent : CallRelatedEvent {
boolean ok;
DP point;
}
event CollectedInformationEvent : CallRelatedEvent {
}
event AnalysedInformationEvent : CallRelatedEvent {
}
event AttemptAuthEvent : CallRelatedEvent {
Address dev;
}
event MidCallEvent : CallRelatedEvent {
Address dev;
}
event RouteSelectFailureEvent : CallRelatedEvent {
}
event SvcEndEvent : CallRelatedEvent {
Time time; // Abbau aller beteiligten Komponenten +
} // Eventbus, Vertrag und Kontextobjekt
event CurrentStatusEvent : CallRelatedEvent {
Address addr;
DeviceStatus status;
}
// *** Events in beide Richtungen ***
event CallReleaseEvent : CallRelatedEvent {
Time time; // Der Ruf ist beendet, die Dienstinstanz
// bleibt jedoch erhalten
}
Sitzungsbezogene Eventtypen
include "types.hh"
include "event.evt"
event SessionRelatedEvent : Event {}
event StartEvent : SessionRelatedEvent {
Time time;
ID serviceID; // z.B. fuer globale Statistiken der
ID subscriberID; // IN-Plattform
}
event AnnounceEvent : SessionRelatedEvent {
long annID; // Kennung der zu spielenden Ansage
}
event AnnounceVarEvent : AnnounceEvent {
string param1;
string param2;
string param3;
}
event AddressEvent : SessionRelatedEvent {
Address dest;
}
event ServiceErrorEvent : SessionRelatedEvent {
Address originator; //aus Context-Objekt
ID serviceID;
ID subscriberID;
Time time;
short level;
string reason;
}
event ValueEvent : SessionRelatedEvent {
string val;
}
event ObjRefEvent : SessionRelatedEvent {
string objref;
long key;
}
Barbara Burkhard
(burkhard@informatik.hu-berlin.de)
Oliver Becker
(obecker@informatik.hu-berlin.de)
Christian Priebe
(priebe@informatik.hu-berlin.de)
Last modified: Monday, 16-Aug-1999 09:57:02 CEST
Background Image: Copyright © 1997 DiP - Thomas Lindström