~ubuntu-branches/ubuntu/trusty/libpri/trusty

« back to all changes in this revision

Viewing changes to rose.h

  • Committer: Package Import Robot
  • Author(s): Faidon Liambotis
  • Date: 2011-11-26 17:25:59 UTC
  • mfrom: (1.3.11)
  • Revision ID: package-import@ubuntu.com-20111126172559-f6c5r81fgkn0krlb
Tags: 1.4.12-1
* New upstream release. 
  - Drop patch gcc-4.6-werror, not needed anymore.
  - Adapt patch enable-gcc-optimizations.
  - Updated symbols file with (a lot of) new symbols.

Show diffs side-by-side

added added

removed removed

Lines of Context:
103
103
        ROSE_ETSI_EctInform,                    /*!< Invoke only */
104
104
        ROSE_ETSI_EctLoopTest,                  /*!< Invoke/Result */
105
105
 
 
106
        /* ETSI Status-Request-Procedure */
 
107
        ROSE_ETSI_StatusRequest,                /*!< Invoke/Result */
 
108
 
 
109
        /* ETSI CCBS-Operations-and-Errors */
 
110
        ROSE_ETSI_CallInfoRetain,               /*!< Invoke only */
 
111
        ROSE_ETSI_CCBSRequest,                  /*!< Invoke/Result */
 
112
        ROSE_ETSI_CCBSDeactivate,               /*!< Invoke/Result */
 
113
        ROSE_ETSI_CCBSInterrogate,              /*!< Invoke/Result */
 
114
        ROSE_ETSI_CCBSErase,                    /*!< Invoke only */
 
115
        ROSE_ETSI_CCBSRemoteUserFree,           /*!< Invoke only */
 
116
        ROSE_ETSI_CCBSCall,                     /*!< Invoke only */
 
117
        ROSE_ETSI_CCBSStatusRequest,            /*!< Invoke/Result */
 
118
        ROSE_ETSI_CCBSBFree,                    /*!< Invoke only */
 
119
        ROSE_ETSI_EraseCallLinkageID,           /*!< Invoke only */
 
120
        ROSE_ETSI_CCBSStopAlerting,             /*!< Invoke only */
 
121
 
 
122
        /* ETSI CCBS-private-networks-Operations-and-Errors */
 
123
        ROSE_ETSI_CCBS_T_Request,               /*!< Invoke/Result */
 
124
        ROSE_ETSI_CCBS_T_Call,                  /*!< Invoke only */
 
125
        ROSE_ETSI_CCBS_T_Suspend,               /*!< Invoke only */
 
126
        ROSE_ETSI_CCBS_T_Resume,                /*!< Invoke only */
 
127
        ROSE_ETSI_CCBS_T_RemoteUserFree,        /*!< Invoke only */
 
128
        ROSE_ETSI_CCBS_T_Available,             /*!< Invoke only */
 
129
 
 
130
        /* ETSI CCNR-Operations-and-Errors */
 
131
        ROSE_ETSI_CCNRRequest,                  /*!< Invoke/Result */
 
132
        ROSE_ETSI_CCNRInterrogate,              /*!< Invoke/Result */
 
133
 
 
134
        /* ETSI CCNR-private-networks-Operations-and-Errors */
 
135
        ROSE_ETSI_CCNR_T_Request,               /*!< Invoke/Result */
 
136
 
 
137
        /* ETSI MCID-Operations */
 
138
        ROSE_ETSI_MCIDRequest,                  /*!< Invoke/Result */
 
139
 
 
140
        /* ETSI MWI-Operations-and-Errors */
 
141
        ROSE_ETSI_MWIActivate,                  /*!< Invoke/Result */
 
142
        ROSE_ETSI_MWIDeactivate,                /*!< Invoke/Result */
 
143
        ROSE_ETSI_MWIIndicate,                  /*!< Invoke only */
 
144
 
106
145
        /* Q.SIG Name-Operations */
107
146
        ROSE_QSIG_CallingName,                  /*!< Invoke only */
108
147
        ROSE_QSIG_CalledName,                   /*!< Invoke only */
141
180
        ROSE_QSIG_DivertingLegInformation3,     /*!< Invoke only */
142
181
        ROSE_QSIG_CfnrDivertedLegFailed,        /*!< Invoke only */
143
182
 
 
183
        /* Q.SIG SS-CC-Operations */
 
184
        ROSE_QSIG_CcbsRequest,                  /*!< Invoke/Result */
 
185
        ROSE_QSIG_CcnrRequest,                  /*!< Invoke/Result */
 
186
        ROSE_QSIG_CcCancel,                     /*!< Invoke only */
 
187
        ROSE_QSIG_CcExecPossible,               /*!< Invoke only */
 
188
        ROSE_QSIG_CcPathReserve,                /*!< Invoke/Result */
 
189
        ROSE_QSIG_CcRingout,                    /*!< Invoke only */
 
190
        ROSE_QSIG_CcSuspend,                    /*!< Invoke only */
 
191
        ROSE_QSIG_CcResume,                     /*!< Invoke only */
 
192
 
144
193
        /* Q.SIG SS-MWI-Operations */
145
194
        ROSE_QSIG_MWIActivate,                  /*!< Invoke/Result */
146
195
        ROSE_QSIG_MWIDeactivate,                /*!< Invoke/Result */
198
247
        /* ETSI Explicit-Call-Transfer-Operations-and-Errors */
199
248
        ROSE_ERROR_ECT_LinkIdNotAssignedByNetwork,
200
249
 
 
250
        /* ETSI CCBS-Operations-and-Errors */
 
251
        ROSE_ERROR_CCBS_InvalidCallLinkageID,
 
252
        ROSE_ERROR_CCBS_InvalidCCBSReference,
 
253
        ROSE_ERROR_CCBS_LongTermDenial,
 
254
        ROSE_ERROR_CCBS_ShortTermDenial,
 
255
        ROSE_ERROR_CCBS_IsAlreadyActivated,
 
256
        ROSE_ERROR_CCBS_AlreadyAccepted,
 
257
        ROSE_ERROR_CCBS_OutgoingCCBSQueueFull,
 
258
        ROSE_ERROR_CCBS_CallFailureReasonNotBusy,
 
259
        ROSE_ERROR_CCBS_NotReadyForCall,
 
260
 
 
261
        /* ETSI CCBS-private-networks-Operations-and-Errors */
 
262
        ROSE_ERROR_CCBS_T_LongTermDenial,
 
263
        ROSE_ERROR_CCBS_T_ShortTermDenial,
 
264
 
 
265
        /* ETSI MWI-Operations-and-Errors */
 
266
        ROSE_ERROR_MWI_InvalidReceivingUserNr,
 
267
        ROSE_ERROR_MWI_ReceivingUserNotSubscribed,
 
268
        ROSE_ERROR_MWI_ControllingUserNotRegistered,
 
269
        ROSE_ERROR_MWI_IndicationNotDelivered,
 
270
        ROSE_ERROR_MWI_MaxNumOfControllingUsersReached,
 
271
        ROSE_ERROR_MWI_MaxNumOfActiveInstancesReached,
 
272
 
201
273
        /* Q.SIG from various specifications */
202
274
        ROSE_ERROR_QSIG_Unspecified,
203
275
 
213
285
        ROSE_ERROR_QSIG_Div_TemporarilyUnavailable,
214
286
        ROSE_ERROR_QSIG_Div_NotAuthorized,
215
287
 
 
288
        /* Q.SIG SS-CC-Operations */
 
289
        ROSE_ERROR_QSIG_ShortTermRejection,
 
290
        ROSE_ERROR_QSIG_LongTermRejection,
 
291
        ROSE_ERROR_QSIG_RemoteUserBusyAgain,
 
292
        ROSE_ERROR_QSIG_FailureToMatch,
 
293
        ROSE_ERROR_QSIG_FailedDueToInterworking,
 
294
 
216
295
        /* Q.SIG SS-MWI-Operations */
217
296
        ROSE_ERROR_QSIG_InvalidMsgCentreId,
218
297
 
325
404
 
326
405
 
327
406
/*
 
407
 * Comment obtained from ECMA-242 ASN.1 source.
 
408
 * a VisibleString containing:
 
409
 *   - the (local) date in 8 digits (YYYYMMDD),
 
410
 *   - followed by (local) time of day in 4 or 6 digits (HHMM[SS]),
 
411
 *   - optionally followed by the letter "Z" or
 
412
 *     by a local time differential in 5 digits ("+"HHMM or "-"HHMM);
 
413
 *     this date and time representation follows ISO 8601
 
414
 * Examples:
 
415
 * 1) 19970621194530, meaning 21 June 1997, 19:45:30;
 
416
 * 2) 19970621194530Z, meaning the same as 1);
 
417
 * 3) 19970621194530-0500, meaning the same as 1),
 
418
 *      5 hours retarded in relation to UTC time
 
419
 *
 
420
 * GeneralizedTime ::= [UNIVERSAL 24] IMPLICIT VisibleString
 
421
 */
 
422
struct roseGeneralizedTime {
 
423
        /*! GeneralizedTime (SIZE (12..19)) */
 
424
        unsigned char str[19 + 1];
 
425
};
 
426
 
 
427
 
 
428
/* ------------------------------------------------------------------- */
 
429
 
 
430
 
 
431
/*
328
432
 * PartyNumber ::= CHOICE {
329
433
 *     -- the numbering plan is the default numbering plan of
330
434
 *     -- the network. It is recommended that this value is
1672
1776
 
1673
1777
 
1674
1778
/*
 
1779
 * ARGUMENT SEQUENCE {
 
1780
 *     compatibilityMode CompatibilityMode,
 
1781
 *
 
1782
 *     -- The BC, HLC (optional) and LLC (optional) information
 
1783
 *     -- elements shall be embedded in q931InfoElement
 
1784
 *     q931InformationElement Q931InformationElement
 
1785
 * }
 
1786
 */
 
1787
struct roseEtsiStatusRequest_ARG {
 
1788
        /*! \brief The BC, HLC (optional) and LLC (optional) information */
 
1789
        struct roseQ931ie q931ie;
 
1790
        /*! \brief q931ie.contents "allocated" after the stucture. */
 
1791
        unsigned char q931ie_contents[ROSE_Q931_MAX_BC + ROSE_Q931_MAX_HLC +
 
1792
                ROSE_Q931_MAX_LLC + 1];
 
1793
 
 
1794
        /*! \details allBasicServices(0), oneOrMoreBasicServices(1) */
 
1795
        u_int8_t compatibility_mode;
 
1796
};
 
1797
 
 
1798
/*
 
1799
 * RESULT StatusResult
 
1800
 */
 
1801
struct roseEtsiStatusRequest_RES {
 
1802
        /*! \details compatibleAndFree(0), compatibleAndBusy(1), incompatible(2) */
 
1803
        u_int8_t status;
 
1804
};
 
1805
 
 
1806
 
 
1807
/* ------------------------------------------------------------------- */
 
1808
 
 
1809
 
 
1810
/*
 
1811
 * CallLinkageID ::= INTEGER (0..127)
 
1812
 * CCBSReference ::= INTEGER (0..127)
 
1813
 */
 
1814
 
 
1815
/*
 
1816
 * ARGUMENT callLinkageID CallLinkageID
 
1817
 */
 
1818
struct roseEtsiCallInfoRetain_ARG {
 
1819
        /*! \brief Call Linkage Record ID */
 
1820
        u_int8_t call_linkage_id;
 
1821
};
 
1822
 
 
1823
/*
 
1824
 * ARGUMENT callLinkageID CallLinkageID
 
1825
 */
 
1826
struct roseEtsiEraseCallLinkageID_ARG {
 
1827
        /*! \brief Call Linkage Record ID */
 
1828
        u_int8_t call_linkage_id;
 
1829
};
 
1830
 
 
1831
 
 
1832
/*
 
1833
 * ARGUMENT callLinkageID CallLinkageID
 
1834
 */
 
1835
struct roseEtsiCCBSRequest_ARG {
 
1836
        /*! \brief Call Linkage Record ID */
 
1837
        u_int8_t call_linkage_id;
 
1838
};
 
1839
 
 
1840
/*
 
1841
 * RESULT SEQUENCE {
 
1842
 *     recallMode          RecallMode,
 
1843
 *     cCBSReference       CCBSReference
 
1844
 * }
 
1845
 */
 
1846
struct roseEtsiCCBSRequest_RES {
 
1847
        /*! \details globalRecall(0), specificRecall(1) */
 
1848
        u_int8_t recall_mode;
 
1849
 
 
1850
        /*! \brief CCBS Record ID */
 
1851
        u_int8_t ccbs_reference;
 
1852
};
 
1853
 
 
1854
 
 
1855
/*
 
1856
 * ARGUMENT cCBSReference CCBSReference
 
1857
 */
 
1858
struct roseEtsiCCBSDeactivate_ARG {
 
1859
        /*! \brief CCBS Record ID */
 
1860
        u_int8_t ccbs_reference;
 
1861
};
 
1862
 
 
1863
 
 
1864
/*
 
1865
 * ARGUMENT SEQUENCE {
 
1866
 *     cCBSReference       CCBSReference OPTIONAL,
 
1867
 *     partyNumberOfA      PartyNumber OPTIONAL
 
1868
 * }
 
1869
 */
 
1870
struct roseEtsiCCBSInterrogate_ARG {
 
1871
        /*! \brief Party A number (Optional) */
 
1872
        struct rosePartyNumber a_party_number;
 
1873
 
 
1874
        /*! \brief TRUE if CCBSReference present */
 
1875
        u_int8_t ccbs_reference_present;
 
1876
 
 
1877
        /*! \brief CCBS Record ID (optional) */
 
1878
        u_int8_t ccbs_reference;
 
1879
};
 
1880
 
 
1881
/*
 
1882
 * -- The Bearer capability, High layer compatibility (optional)
 
1883
 * -- and Low layer compatibility (optional) information elements
 
1884
 * -- shall be embedded in q931InfoElement.
 
1885
 * CallInformation ::= SEQUENCE {
 
1886
 *     addressOfB          Address,
 
1887
 *     q931InfoElement     Q931InformationElement,
 
1888
 *     cCBSReference       CCBSReference,
 
1889
 *     subAddressOfA       PartySubaddress OPTIONAL
 
1890
 * }
 
1891
 */
 
1892
struct roseEtsiCallInformation {
 
1893
        /*! \brief The BC, HLC (optional) and LLC (optional) information */
 
1894
        struct roseQ931ie q931ie;
 
1895
        /*! \brief q931ie.contents "allocated" after the stucture. */
 
1896
        unsigned char q931ie_contents[ROSE_Q931_MAX_BC + ROSE_Q931_MAX_HLC +
 
1897
                ROSE_Q931_MAX_LLC + 1];
 
1898
 
 
1899
        /*! \brief Address of B */
 
1900
        struct roseAddress address_of_b;
 
1901
 
 
1902
        /*! \brief Subaddress of A (Optional) */
 
1903
        struct rosePartySubaddress subaddress_of_a;
 
1904
 
 
1905
        /*! \brief CCBS Record ID */
 
1906
        u_int8_t ccbs_reference;
 
1907
};
 
1908
 
 
1909
/*
 
1910
 * CallDetails ::= SEQUENCE SIZE(1..5) OF CallInformation
 
1911
 */
 
1912
struct roseEtsiCallDetailsList {
 
1913
        struct roseEtsiCallInformation list[5];
 
1914
 
 
1915
        /*! \brief Number of CallDetails records present */
 
1916
        u_int8_t num_records;
 
1917
};
 
1918
 
 
1919
/*
 
1920
 * RESULT SEQUENCE {
 
1921
 *     recallMode          RecallMode,
 
1922
 *     callDetails         CallDetails OPTIONAL
 
1923
 * }
 
1924
 */
 
1925
struct roseEtsiCCBSInterrogate_RES {
 
1926
        struct roseEtsiCallDetailsList call_details;
 
1927
 
 
1928
        /*! \details globalRecall(0), specificRecall(1) */
 
1929
        u_int8_t recall_mode;
 
1930
};
 
1931
 
 
1932
 
 
1933
/*
 
1934
 * ARGUMENT SEQUENCE {
 
1935
 *     recallMode          RecallMode,
 
1936
 *     cCBSReference       CCBSReference,
 
1937
 *     addressOfB          Address,
 
1938
 *     q931InfoElement     Q931InformationElement,
 
1939
 *     eraseReason         CCBSEraseReason
 
1940
 * }
 
1941
 */
 
1942
struct roseEtsiCCBSErase_ARG {
 
1943
        /*! \brief The BC, HLC (optional) and LLC (optional) information */
 
1944
        struct roseQ931ie q931ie;
 
1945
        /*! \brief q931ie.contents "allocated" after the stucture. */
 
1946
        unsigned char q931ie_contents[ROSE_Q931_MAX_BC + ROSE_Q931_MAX_HLC +
 
1947
                ROSE_Q931_MAX_LLC + 1];
 
1948
 
 
1949
        /*! \brief Address of B */
 
1950
        struct roseAddress address_of_b;
 
1951
 
 
1952
        /*! \details globalRecall(0), specificRecall(1) */
 
1953
        u_int8_t recall_mode;
 
1954
 
 
1955
        /*! \brief CCBS Record ID */
 
1956
        u_int8_t ccbs_reference;
 
1957
 
 
1958
        /*!
 
1959
         * \brief CCBS Erase reason
 
1960
         * \details
 
1961
         * normal-unspecified(0),
 
1962
         * t-CCBS2-timeout(1),
 
1963
         * t-CCBS3-timeout(2),
 
1964
         * basic-call-failed(3)
 
1965
         */
 
1966
        u_int8_t reason;
 
1967
};
 
1968
 
 
1969
/*
 
1970
 * ARGUMENT SEQUENCE {
 
1971
 *     recallMode          RecallMode,
 
1972
 *     cCBSReference       CCBSReference,
 
1973
 *     addressOfB          Address,
 
1974
 *     q931InfoElement     Q931InformationElement
 
1975
 * }
 
1976
 */
 
1977
struct roseEtsiCCBSRemoteUserFree_ARG {
 
1978
        /*! \brief The BC, HLC (optional) and LLC (optional) information */
 
1979
        struct roseQ931ie q931ie;
 
1980
        /*! \brief q931ie.contents "allocated" after the stucture. */
 
1981
        unsigned char q931ie_contents[ROSE_Q931_MAX_BC + ROSE_Q931_MAX_HLC +
 
1982
                ROSE_Q931_MAX_LLC + 1];
 
1983
 
 
1984
        /*! \brief Address of B */
 
1985
        struct roseAddress address_of_b;
 
1986
 
 
1987
        /*! \details globalRecall(0), specificRecall(1) */
 
1988
        u_int8_t recall_mode;
 
1989
 
 
1990
        /*! \brief CCBS Record ID */
 
1991
        u_int8_t ccbs_reference;
 
1992
};
 
1993
 
 
1994
/*
 
1995
 * ARGUMENT cCBSReference CCBSReference
 
1996
 */
 
1997
struct roseEtsiCCBSCall_ARG {
 
1998
        /*! \brief CCBS Record ID */
 
1999
        u_int8_t ccbs_reference;
 
2000
};
 
2001
 
 
2002
 
 
2003
/*
 
2004
 * ARGUMENT SEQUENCE {
 
2005
 *     recallMode          RecallMode,
 
2006
 *     cCBSReference       CCBSReference,
 
2007
 *     q931InfoElement     Q931InformationElement
 
2008
 * }
 
2009
 */
 
2010
struct roseEtsiCCBSStatusRequest_ARG {
 
2011
        /*! \brief The BC, HLC (optional) and LLC (optional) information */
 
2012
        struct roseQ931ie q931ie;
 
2013
        /*! \brief q931ie.contents "allocated" after the stucture. */
 
2014
        unsigned char q931ie_contents[ROSE_Q931_MAX_BC + ROSE_Q931_MAX_HLC +
 
2015
                ROSE_Q931_MAX_LLC + 1];
 
2016
 
 
2017
        /*! \details globalRecall(0), specificRecall(1) */
 
2018
        u_int8_t recall_mode;
 
2019
 
 
2020
        /*! \brief CCBS Record ID */
 
2021
        u_int8_t ccbs_reference;
 
2022
};
 
2023
 
 
2024
/*
 
2025
 * RESULT BOOLEAN -- free=TRUE, busy=FALSE
 
2026
 */
 
2027
struct roseEtsiCCBSStatusRequest_RES {
 
2028
        /*! \brief TRUE if User A is free */
 
2029
        u_int8_t free;
 
2030
};
 
2031
 
 
2032
 
 
2033
/*
 
2034
 * ARGUMENT SEQUENCE {
 
2035
 *     recallMode          RecallMode,
 
2036
 *     cCBSReference       CCBSReference,
 
2037
 *     addressOfB          Address,
 
2038
 *     q931InfoElement     Q931InformationElement
 
2039
 * }
 
2040
 */
 
2041
struct roseEtsiCCBSBFree_ARG {
 
2042
        /*! \brief The BC, HLC (optional) and LLC (optional) information */
 
2043
        struct roseQ931ie q931ie;
 
2044
        /*! \brief q931ie.contents "allocated" after the stucture. */
 
2045
        unsigned char q931ie_contents[ROSE_Q931_MAX_BC + ROSE_Q931_MAX_HLC +
 
2046
                ROSE_Q931_MAX_LLC + 1];
 
2047
 
 
2048
        /*! \brief Address of B */
 
2049
        struct roseAddress address_of_b;
 
2050
 
 
2051
        /*! \details globalRecall(0), specificRecall(1) */
 
2052
        u_int8_t recall_mode;
 
2053
 
 
2054
        /*! \brief CCBS Record ID */
 
2055
        u_int8_t ccbs_reference;
 
2056
};
 
2057
 
 
2058
/*
 
2059
 * ARGUMENT cCBSReference CCBSReference
 
2060
 */
 
2061
struct roseEtsiCCBSStopAlerting_ARG {
 
2062
        /*! \brief CCBS Record ID */
 
2063
        u_int8_t ccbs_reference;
 
2064
};
 
2065
 
 
2066
 
 
2067
/* ------------------------------------------------------------------- */
 
2068
 
 
2069
 
 
2070
/*
 
2071
 * ARGUMENT SEQUENCE {
 
2072
 *     destinationAddress           Address,
 
2073
 *
 
2074
 *     -- contains HLC, LLC and BC information
 
2075
 *     q931InfoElement              Q931InformationElement,
 
2076
 *
 
2077
 *     retentionSupported           [1] IMPLICIT BOOLEAN DEFAULT FALSE,
 
2078
 *
 
2079
 *     -- The use of this parameter is specified in
 
2080
 *     -- EN 300 195-1 for interaction of CCBS with CLIP
 
2081
 *     presentationAllowedIndicator [2] IMPLICIT BOOLEAN OPTIONAL,
 
2082
 *
 
2083
 *     -- The use of this parameter is specified in
 
2084
 *     -- EN 300 195-1 for interaction of CCBS with CLIP
 
2085
 *     originatingAddress           Address OPTIONAL
 
2086
 * }
 
2087
 */
 
2088
struct roseEtsiCCBS_T_Request_ARG {
 
2089
        /*! \brief The BC, HLC (optional) and LLC (optional) information */
 
2090
        struct roseQ931ie q931ie;
 
2091
        /*! \brief q931ie.contents "allocated" after the stucture. */
 
2092
        unsigned char q931ie_contents[ROSE_Q931_MAX_BC + ROSE_Q931_MAX_HLC +
 
2093
                ROSE_Q931_MAX_LLC + 1];
 
2094
 
 
2095
        /*! \brief Address of B */
 
2096
        struct roseAddress destination;
 
2097
 
 
2098
        /*! \brief Caller-ID Address (Present if Originating.Party.LengthOfNumber is nonzero) */
 
2099
        struct roseAddress originating;
 
2100
 
 
2101
        /*! \brief TRUE if the PresentationAllowedIndicator is present */
 
2102
        u_int8_t presentation_allowed_indicator_present;
 
2103
 
 
2104
        /*! \brief TRUE if presentation is allowed for the originating address (optional) */
 
2105
        u_int8_t presentation_allowed_indicator;
 
2106
 
 
2107
        /*! \brief TRUE if User A's CCBS request is continued if user B is busy again. */
 
2108
        u_int8_t retention_supported;
 
2109
};
 
2110
 
 
2111
/*
 
2112
 * RESULT retentionSupported BOOLEAN   -- Default False
 
2113
 */
 
2114
struct roseEtsiCCBS_T_Request_RES {
 
2115
        /*! \brief TRUE if User A's CCBS request is continued if user B is busy again. */
 
2116
        u_int8_t retention_supported;
 
2117
};
 
2118
 
 
2119
 
 
2120
/* ------------------------------------------------------------------- */
 
2121
 
 
2122
 
 
2123
/*
 
2124
 * MessageID ::= SEQUENCE {
 
2125
 *     messageRef  MessageRef,
 
2126
 *     status      MessageStatus
 
2127
 * }
 
2128
 */
 
2129
struct roseEtsiMessageID {
 
2130
        /*! \brief Message reference number. (INTEGER (0..65535)) */
 
2131
        u_int16_t reference_number;
 
2132
        /*!
 
2133
         * \brief Message status
 
2134
         * \details
 
2135
         * added_message(0),
 
2136
         * removed_message(1)
 
2137
         */
 
2138
        u_int8_t status;
 
2139
};
 
2140
 
 
2141
/*
 
2142
 * ARGUMENT SEQUENCE {
 
2143
 *     receivingUserNr             PartyNumber,
 
2144
 *     basicService                BasicService,
 
2145
 *     controllingUserNr           [1] EXPLICIT PartyNumber     OPTIONAL,
 
2146
 *     numberOfMessages            [2] EXPLICIT MessageCounter  OPTIONAL,
 
2147
 *     controllingUserProvidedNr   [3] EXPLICIT PartyNumber     OPTIONAL,
 
2148
 *     time                        [4] EXPLICIT GeneralizedTime OPTIONAL,
 
2149
 *     messageId                   [5] EXPLICIT MessageID       OPTIONAL,
 
2150
 *     mode                        [6] EXPLICIT InvocationMode  OPTIONAL
 
2151
 * }
 
2152
 */
 
2153
struct roseEtsiMWIActivate_ARG {
 
2154
        /*! \brief Number of messages in mailbox. (INTEGER (0..65535)) (Optional) */
 
2155
        u_int16_t number_of_messages;
 
2156
 
 
2157
        /*! \brief Message ID (Status of this message) (Optional)*/
 
2158
        struct roseEtsiMessageID message_id;
 
2159
 
 
2160
        /*! \brief Receiving user number (Who the message is for.) */
 
2161
        struct rosePartyNumber receiving_user_number;
 
2162
        /*! \brief Controlling user number (Mailbox number) (Optional) */
 
2163
        struct rosePartyNumber controlling_user_number;
 
2164
        /*! \brief Controlling user provided number (Caller-ID of party leaving message) (Optional) */
 
2165
        struct rosePartyNumber controlling_user_provided_number;
 
2166
 
 
2167
        /*! \brief When message left. (optional) */
 
2168
        struct roseGeneralizedTime time;
 
2169
 
 
2170
        /*!
 
2171
         * \brief Type of call leaving message.
 
2172
         * \details
 
2173
         * allServices(0),
 
2174
         * speech(1),
 
2175
         * unrestrictedDigitalInformation(2),
 
2176
         * audio3k1Hz(3),
 
2177
         * unrestrictedDigitalInformationWithTonesAndAnnouncements(4),
 
2178
         * multirate(5),
 
2179
         * telephony3k1Hz(32),
 
2180
         * teletex(33),
 
2181
         * telefaxGroup4Class1(34),
 
2182
         * videotexSyntaxBased(35),
 
2183
         * videotelephony(36),
 
2184
         * telefaxGroup2-3(37),
 
2185
         * telephony7kHz(38),
 
2186
         * euroFileTransfer(39),
 
2187
         * fileTransferAndAccessManagement(40),
 
2188
         * videoconference(41),
 
2189
         * audioGraphicConference(42)
 
2190
         */
 
2191
        u_int8_t basic_service;
 
2192
        /*!
 
2193
         * \brief Invocation mode (When it should be delivered.) (Optional)
 
2194
         * \details
 
2195
         * deferred(0),
 
2196
         * immediate(1),
 
2197
         * combined(2)
 
2198
         */
 
2199
        u_int8_t mode;
 
2200
 
 
2201
        /*! \brief TRUE if NumberOfMessages present */
 
2202
        u_int8_t number_of_messages_present;
 
2203
        /*! \brief TRUE if time present */
 
2204
        u_int8_t time_present;
 
2205
        /*! \brief TRUE if MessageId present */
 
2206
        u_int8_t message_id_present;
 
2207
        /*! \brief TRUE if invocation mode present */
 
2208
        u_int8_t mode_present;
 
2209
};
 
2210
 
 
2211
/*
 
2212
 * ARGUMENT SEQUENCE {
 
2213
 *     receivingUserNr     PartyNumber,
 
2214
 *     basicService        BasicService,
 
2215
 *     controllingUserNr   PartyNumber    OPTIONAL,
 
2216
 *     mode                InvocationMode OPTIONAL
 
2217
 * }
 
2218
 */
 
2219
struct roseEtsiMWIDeactivate_ARG {
 
2220
        /*! \brief Receiving user number (Who the message is for.) */
 
2221
        struct rosePartyNumber receiving_user_number;
 
2222
        /*! \brief Controlling user number (Mailbox number) (Optional) */
 
2223
        struct rosePartyNumber controlling_user_number;
 
2224
 
 
2225
        /*!
 
2226
         * \brief Type of call leaving message.
 
2227
         * \details
 
2228
         * allServices(0),
 
2229
         * speech(1),
 
2230
         * unrestrictedDigitalInformation(2),
 
2231
         * audio3k1Hz(3),
 
2232
         * unrestrictedDigitalInformationWithTonesAndAnnouncements(4),
 
2233
         * multirate(5),
 
2234
         * telephony3k1Hz(32),
 
2235
         * teletex(33),
 
2236
         * telefaxGroup4Class1(34),
 
2237
         * videotexSyntaxBased(35),
 
2238
         * videotelephony(36),
 
2239
         * telefaxGroup2-3(37),
 
2240
         * telephony7kHz(38),
 
2241
         * euroFileTransfer(39),
 
2242
         * fileTransferAndAccessManagement(40),
 
2243
         * videoconference(41),
 
2244
         * audioGraphicConference(42)
 
2245
         */
 
2246
        u_int8_t basic_service;
 
2247
 
 
2248
        /*!
 
2249
         * \brief Invocation mode (When it should be delivered.) (Optional)
 
2250
         * \details
 
2251
         * deferred(0),
 
2252
         * immediate(1),
 
2253
         * combined(2)
 
2254
         */
 
2255
        u_int8_t mode;
 
2256
 
 
2257
        /*! \brief TRUE if invocation mode present */
 
2258
        u_int8_t mode_present;
 
2259
};
 
2260
 
 
2261
/*
 
2262
 * ARGUMENT SEQUENCE {
 
2263
 *     controllingUserNr           [1] EXPLICIT PartyNumber     OPTIONAL,
 
2264
 *     basicService                [2] EXPLICIT BasicService    OPTIONAL,
 
2265
 *     numberOfMessages            [3] EXPLICIT MessageCounter  OPTIONAL,
 
2266
 *     controllingUserProvidedNr   [4] EXPLICIT PartyNumber     OPTIONAL,
 
2267
 *     time                        [5] EXPLICIT GeneralizedTime OPTIONAL,
 
2268
 *     messageId                   [6] EXPLICIT MessageID       OPTIONAL
 
2269
 * }
 
2270
 */
 
2271
struct roseEtsiMWIIndicate_ARG {
 
2272
        /*! \brief Number of messages in mailbox. (INTEGER (0..65535)) (Optional) */
 
2273
        u_int16_t number_of_messages;
 
2274
 
 
2275
        /*! \brief Message ID (Status of this message) (Optional)*/
 
2276
        struct roseEtsiMessageID message_id;
 
2277
 
 
2278
        /*! \brief Controlling user number (Mailbox number) (Optional) */
 
2279
        struct rosePartyNumber controlling_user_number;
 
2280
        /*! \brief Controlling user provided number (Caller-ID of party leaving message) (Optional) */
 
2281
        struct rosePartyNumber controlling_user_provided_number;
 
2282
 
 
2283
        /*! \brief When message left. (optional) */
 
2284
        struct roseGeneralizedTime time;
 
2285
 
 
2286
        /*!
 
2287
         * \brief Type of call leaving message.
 
2288
         * \details
 
2289
         * allServices(0),
 
2290
         * speech(1),
 
2291
         * unrestrictedDigitalInformation(2),
 
2292
         * audio3k1Hz(3),
 
2293
         * unrestrictedDigitalInformationWithTonesAndAnnouncements(4),
 
2294
         * multirate(5),
 
2295
         * telephony3k1Hz(32),
 
2296
         * teletex(33),
 
2297
         * telefaxGroup4Class1(34),
 
2298
         * videotexSyntaxBased(35),
 
2299
         * videotelephony(36),
 
2300
         * telefaxGroup2-3(37),
 
2301
         * telephony7kHz(38),
 
2302
         * euroFileTransfer(39),
 
2303
         * fileTransferAndAccessManagement(40),
 
2304
         * videoconference(41),
 
2305
         * audioGraphicConference(42)
 
2306
         */
 
2307
        u_int8_t basic_service;
 
2308
 
 
2309
        /*! \brief TRUE if basic_service present */
 
2310
        u_int8_t basic_service_present;
 
2311
        /*! \brief TRUE if NumberOfMessages present */
 
2312
        u_int8_t number_of_messages_present;
 
2313
        /*! \brief TRUE if time present */
 
2314
        u_int8_t time_present;
 
2315
        /*! \brief TRUE if MessageId present */
 
2316
        u_int8_t message_id_present;
 
2317
};
 
2318
 
 
2319
 
 
2320
/* ------------------------------------------------------------------- */
 
2321
 
 
2322
 
 
2323
/*
1675
2324
 * Name ::= CHOICE {
1676
2325
 *     -- iso8859-1 is implied in namePresentationAllowedSimple.
1677
2326
 *     namePresentationAllowedSimple   [0] IMPLICIT NameData,
2836
3485
 
2837
3486
 
2838
3487
/*
 
3488
 * CcExtension ::= CHOICE {
 
3489
 *     none        NULL,
 
3490
 *     single      [14] IMPLICIT Extension,
 
3491
 *     multiple    [15] IMPLICIT SEQUENCE OF Extension
 
3492
 * }
 
3493
 */
 
3494
 
 
3495
/*
 
3496
 * CcRequestArg ::= SEQUENCE {
 
3497
 *     numberA                 PresentedNumberUnscreened,
 
3498
 *     numberB                 PartyNumber,
 
3499
 *
 
3500
 *     -- permitted information elements are:
 
3501
 *     -- Bearer capability;
 
3502
 *     -- Low layer compatibility;
 
3503
 *     -- High layer compatibility
 
3504
 *     service                 PSS1InformationElement,
 
3505
 *     subaddrA                [10] EXPLICIT PartySubaddress OPTIONAL,
 
3506
 *     subaddrB                [11] EXPLICIT PartySubaddress OPTIONAL,
 
3507
 *     can-retain-service      [12] IMPLICIT BOOLEAN DEFAULT FALSE,
 
3508
 *
 
3509
 *     -- TRUE: signalling connection to be retained;
 
3510
 *     -- FALSE: signalling connection to be released;
 
3511
 *     -- omission: release or retain signalling connection
 
3512
 *     retain-sig-connection   [13] IMPLICIT BOOLEAN OPTIONAL,
 
3513
 *     extension               CcExtension OPTIONAL
 
3514
 * }
 
3515
 */
 
3516
struct roseQsigCcRequestArg {
 
3517
        struct rosePresentedNumberUnscreened number_a;
 
3518
        struct rosePartyNumber number_b;
 
3519
 
 
3520
        /*!
 
3521
         * \brief subaddrA (optional)
 
3522
         * The subaddress is present if the length is nonzero.
 
3523
         */
 
3524
        struct rosePartySubaddress subaddr_a;
 
3525
 
 
3526
        /*!
 
3527
         * \brief subaddrB (optional)
 
3528
         * The subaddress is present if the length is nonzero.
 
3529
         */
 
3530
        struct rosePartySubaddress subaddr_b;
 
3531
 
 
3532
        /*!
 
3533
         * \brief The BC, HLC (optional) and LLC (optional) information.
 
3534
         * \note The ASN.1 field name is service.
 
3535
         */
 
3536
        struct roseQ931ie q931ie;
 
3537
        /*! \brief q931ie.contents "allocated" after the stucture. */
 
3538
        unsigned char q931ie_contents[ROSE_Q931_MAX_BC + ROSE_Q931_MAX_HLC +
 
3539
                ROSE_Q931_MAX_LLC + 1];
 
3540
 
 
3541
        /*! \brief TRUE if can retain service (DEFAULT FALSE) */
 
3542
        u_int8_t can_retain_service;
 
3543
 
 
3544
        /*!
 
3545
         * \brief TRUE if retain_sig_connection present
 
3546
         * \note If not present then the signaling connection could be
 
3547
         * released or retained.
 
3548
         */
 
3549
        u_int8_t retain_sig_connection_present;
 
3550
 
 
3551
        /*!
 
3552
         * \brief Determine if the signalling connection should be retained.
 
3553
         * \note TRUE if signalling connection to be retained.
 
3554
         * \note FALSE if signalling connection to be released.
 
3555
         */
 
3556
        u_int8_t retain_sig_connection;
 
3557
};
 
3558
 
 
3559
/*
 
3560
 * CcRequestRes ::= SEQUENCE {
 
3561
 *     no-path-reservation     [0] IMPLICIT BOOLEAN DEFAULT FALSE,
 
3562
 *     retain-service          [1] IMPLICIT BOOLEAN DEFAULT FALSE,
 
3563
 *     extension               CcExtension OPTIONAL
 
3564
 * }
 
3565
 */
 
3566
struct roseQsigCcRequestRes {
 
3567
        /*! \brief TRUE if no path reservation. (DEFAULT FALSE) */
 
3568
        u_int8_t no_path_reservation;
 
3569
 
 
3570
        /*! \brief TRUE if agree to retain service (DEFAULT FALSE) */
 
3571
        u_int8_t retain_service;
 
3572
};
 
3573
 
 
3574
/*
 
3575
 * CcOptionalArg ::= CHOICE {
 
3576
 *     fullArg                 [0] IMPLICIT SEQUENCE {
 
3577
 *         numberA             PartyNumber,
 
3578
 *         numberB             PartyNumber,
 
3579
 *
 
3580
 *         -- permitted information elements are:
 
3581
 *         -- Bearer capability;
 
3582
 *         -- Low layer compatibility;
 
3583
 *         -- High layer compatibility.
 
3584
 *         service             PSS1InformationElement,
 
3585
 *         subaddrA            [10] EXPLICIT PartySubaddress OPTIONAL,
 
3586
 *         subaddrB            [11] EXPLICIT PartySubaddress OPTIONAL,
 
3587
 *         extension           CcExtension OPTIONAL
 
3588
 *     },
 
3589
 *     extArg                  CcExtension
 
3590
 * }
 
3591
 */
 
3592
struct roseQsigCcOptionalArg {
 
3593
#if 1   /* The conditional is here to indicate fullArg values grouping. */
 
3594
        struct rosePartyNumber number_a;
 
3595
        struct rosePartyNumber number_b;
 
3596
 
 
3597
        /*!
 
3598
         * \brief subaddrA (optional)
 
3599
         * The subaddress is present if the length is nonzero.
 
3600
         */
 
3601
        struct rosePartySubaddress subaddr_a;
 
3602
 
 
3603
        /*!
 
3604
         * \brief subaddrB (optional)
 
3605
         * The subaddress is present if the length is nonzero.
 
3606
         */
 
3607
        struct rosePartySubaddress subaddr_b;
 
3608
 
 
3609
        /*!
 
3610
         * \brief The BC, HLC (optional) and LLC (optional) information.
 
3611
         * \note The ASN.1 field name is service.
 
3612
         */
 
3613
        struct roseQ931ie q931ie;
 
3614
        /*! \brief q931ie.contents "allocated" after the stucture. */
 
3615
        unsigned char q931ie_contents[ROSE_Q931_MAX_BC + ROSE_Q931_MAX_HLC +
 
3616
                ROSE_Q931_MAX_LLC + 1];
 
3617
#endif  /* end fullArg values */
 
3618
 
 
3619
        /*! \brief TRUE if the fullArg values are present. */
 
3620
        u_int8_t full_arg_present;
 
3621
};
 
3622
 
 
3623
 
 
3624
/* ------------------------------------------------------------------- */
 
3625
 
 
3626
 
 
3627
/*
2839
3628
 * MsgCentreId ::= CHOICE {
2840
3629
 *     integer         [0] IMPLICIT INTEGER (0..65535),
2841
3630
 *
2899
3688
        struct rosePartyNumber originating_number;
2900
3689
 
2901
3690
        /*! \brief GeneralizedTime (SIZE (12..19)) (optional) */
2902
 
        unsigned char timestamp[19 + 1];
 
3691
        struct roseGeneralizedTime timestamp;
2903
3692
 
2904
3693
        /*!
2905
3694
         * \details
3124
3913
        struct rosePartyNumber originating_number;
3125
3914
 
3126
3915
        /*! \brief GeneralizedTime (SIZE (12..19)) (optional) */
3127
 
        unsigned char timestamp[19 + 1];
 
3916
        struct roseGeneralizedTime timestamp;
3128
3917
 
3129
3918
        /*!
3130
3919
         * \details
3283
4072
        struct roseEtsiSubaddressTransfer_ARG SubaddressTransfer;
3284
4073
        struct roseEtsiEctInform_ARG EctInform;
3285
4074
        struct roseEtsiEctLoopTest_ARG EctLoopTest;
 
4075
 
 
4076
        /* ETSI Status Request (CCBS/CCNR support) */
 
4077
        struct roseEtsiStatusRequest_ARG StatusRequest;
 
4078
 
 
4079
        /* ETSI CCBS/CCNR support */
 
4080
        struct roseEtsiCallInfoRetain_ARG CallInfoRetain;
 
4081
        struct roseEtsiEraseCallLinkageID_ARG EraseCallLinkageID;
 
4082
        struct roseEtsiCCBSDeactivate_ARG CCBSDeactivate;
 
4083
        struct roseEtsiCCBSErase_ARG CCBSErase;
 
4084
        struct roseEtsiCCBSRemoteUserFree_ARG CCBSRemoteUserFree;
 
4085
        struct roseEtsiCCBSCall_ARG CCBSCall;
 
4086
        struct roseEtsiCCBSStatusRequest_ARG CCBSStatusRequest;
 
4087
        struct roseEtsiCCBSBFree_ARG CCBSBFree;
 
4088
        struct roseEtsiCCBSStopAlerting_ARG CCBSStopAlerting;
 
4089
 
 
4090
        /* ETSI CCBS */
 
4091
        struct roseEtsiCCBSRequest_ARG CCBSRequest;
 
4092
        struct roseEtsiCCBSInterrogate_ARG CCBSInterrogate;
 
4093
 
 
4094
        /* ETSI CCNR */
 
4095
        struct roseEtsiCCBSRequest_ARG CCNRRequest;
 
4096
        struct roseEtsiCCBSInterrogate_ARG CCNRInterrogate;
 
4097
 
 
4098
        /* ETSI CCBS-T */
 
4099
        struct roseEtsiCCBS_T_Request_ARG CCBS_T_Request;
 
4100
 
 
4101
        /* ETSI CCNR-T */
 
4102
        struct roseEtsiCCBS_T_Request_ARG CCNR_T_Request;
 
4103
 
 
4104
        /* ETSI Message Waiting Indication (MWI) */
 
4105
        struct roseEtsiMWIActivate_ARG MWIActivate;
 
4106
        struct roseEtsiMWIDeactivate_ARG MWIDeactivate;
 
4107
        struct roseEtsiMWIIndicate_ARG MWIIndicate;
3286
4108
};
3287
4109
 
3288
4110
/*! \brief Facility ie result etsi messages with arguments. */
3297
4119
        /* ETSI Explicit Call Transfer (ECT) */
3298
4120
        struct roseEtsiEctLinkIdRequest_RES EctLinkIdRequest;
3299
4121
        struct roseEtsiEctLoopTest_RES EctLoopTest;
 
4122
 
 
4123
        /* ETSI Status Request (CCBS/CCNR support) */
 
4124
        struct roseEtsiStatusRequest_RES StatusRequest;
 
4125
 
 
4126
        /* ETSI CCBS/CCNR support */
 
4127
        struct roseEtsiCCBSStatusRequest_RES CCBSStatusRequest;
 
4128
 
 
4129
        /* ETSI CCBS */
 
4130
        struct roseEtsiCCBSRequest_RES CCBSRequest;
 
4131
        struct roseEtsiCCBSInterrogate_RES CCBSInterrogate;
 
4132
 
 
4133
        /* ETSI CCNR */
 
4134
        struct roseEtsiCCBSRequest_RES CCNRRequest;
 
4135
        struct roseEtsiCCBSInterrogate_RES CCNRInterrogate;
 
4136
 
 
4137
        /* ETSI CCBS-T */
 
4138
        struct roseEtsiCCBS_T_Request_RES CCBS_T_Request;
 
4139
 
 
4140
        /* ETSI CCNR-T */
 
4141
        struct roseEtsiCCBS_T_Request_RES CCNR_T_Request;
3300
4142
};
3301
4143
 
3302
4144
/*! \brief Facility ie invoke qsig messages with arguments. */
3333
4175
        struct roseQsigDivertingLegInformation2_ARG DivertingLegInformation2;
3334
4176
        struct roseQsigDivertingLegInformation3_ARG DivertingLegInformation3;
3335
4177
 
 
4178
        /* Q.SIG SS-CC-Operations */
 
4179
        struct roseQsigCcRequestArg CcbsRequest;
 
4180
        struct roseQsigCcRequestArg CcnrRequest;
 
4181
        struct roseQsigCcOptionalArg CcCancel;
 
4182
        struct roseQsigCcOptionalArg CcExecPossible;
 
4183
 
3336
4184
        /* Q.SIG SS-MWI-Operations */
3337
4185
        struct roseQsigMWIActivateArg MWIActivate;
3338
4186
        struct roseQsigMWIDeactivateArg MWIDeactivate;
3351
4199
        /* Q.SIG Call-Diversion-Operations */
3352
4200
        struct roseQsigForwardingList InterrogateDiversionQ;
3353
4201
 
 
4202
        /* Q.SIG SS-CC-Operations */
 
4203
        struct roseQsigCcRequestRes CcbsRequest;
 
4204
        struct roseQsigCcRequestRes CcnrRequest;
 
4205
 
3354
4206
        /* Q.SIG SS-MWI-Operations */
3355
4207
        struct roseQsigMWIInterrogateRes MWIInterrogate;
3356
4208
};