2 * Copyright (c) 2018 Samsung Electronics Co., Ltd All Rights Reserved
4 * Licensed under the Apache License, Version 2.0 (the License);
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an AS IS BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
17 using System.Collections.Generic;
22 /// A class which defines values for USSD request type. Applicable to 3GPP(GSM/UMTS/LET) only.
24 public class SsUssdMsgInfo
26 private SsUssdType _type;
29 private string _ussdString;
34 /// <value>Type of USSD represented in SsUssdType enum.</value>
35 public SsUssdType Type
51 /// <value>Dcs value represented in byte.</value>
66 /// USSD string length.
68 /// <value>Length of USSD string in integer.</value>
85 /// <value>Ussd string represented in string.</value>
86 public string UssdString
101 /// A class which defines release complete message notification type.
103 public class SsReleaseCompleteMsgInfo
105 internal byte Length;
108 internal SsReleaseCompleteMsgInfo()
113 /// Specifies the Release complete messageg length.
115 /// <value>Length of release complete message in byte.</value>
116 public byte MsgLength
125 /// Specifies the release complete message.
127 /// <value>Release complete message represented in byte array.</value>
128 public byte[] Message
138 /// A class which defines SS forward record information.
140 public class SsForwardRecord
142 internal SsClass SsClass;
143 internal SsStatus SsStatus;
144 internal SsForwardCondition Condition;
145 internal bool IsNumPresent;
146 internal SsNoReplyTime NoReply;
147 internal SsForwardTypeOfNumber Type;
148 internal SsForwardNumberingPlanIdentity NumIdPlan;
149 internal string ForwardNum;
151 internal SsForwardRecord()
158 /// <value>SS class type.</value>
168 /// Call forwarding SS status.
170 /// <value>Status of SS call forwarding.</value>
171 public SsStatus Status
180 /// Call forward types providing various conditions when a call can be forwarded.
182 /// <value>Forwarding condition of SS call forward.</value>
183 public SsForwardCondition ForwardCondition
192 /// Flag that indicates whether call forwarding number is present.
194 /// <value>Boolean value to check the presence of call forwarding number.</value>
195 public bool IsForwardingNumberPresent
206 /// <value>Waiting time when there is no reply.</value>
207 public SsNoReplyTime NoReplyTime
218 /// <value>SS call forward type of number.</value>
219 public SsForwardTypeOfNumber Ton
228 /// Numbering Plan Identity.
230 /// <value>SS call forward numbering plan identity.</value>
231 public SsForwardNumberingPlanIdentity Npi
240 /// Forwarded number.
242 /// <value>Call forwarding number.</value>
243 public string ForwardingNumber
253 /// A class which defines values for SS call forwarding record. Applicable to 3GPP(GSM/UMTS/LTE) only.
255 public class SsForwardResponse
257 internal int RecordNum;
258 internal IEnumerable<SsForwardRecord> RecordList;
260 internal SsForwardResponse()
267 /// <value>Record value represented in integer.</value>
268 public int RecordNumber
277 /// Specifies the maximum of SS forward records.
279 /// <value>A list of instances of SsForwardRecord.</value>
280 public IEnumerable<SsForwardRecord> Record
290 /// A class which defines SS call barring record information.
292 public class SsBarringRecord
294 internal SsClass SsClass;
295 internal SsStatus SsStatus;
296 internal SsBarringType SsType;
298 internal SsBarringRecord()
305 /// <value>SS class type.</value>
317 /// <value>Status of SS call barring.</value>
318 public SsStatus Status
327 /// Call barring types providing various barring conditions on which calls are barred.
329 /// <value>Type of SS call barring.</value>
330 public SsBarringType BarringType
340 /// A class which defines values for SS call barring record. Applicable to 3GPP(GSM/UMTS/LTE) only.
342 public class SsBarringResponse
344 internal int RecordNum;
345 internal IEnumerable<SsBarringRecord> RecordList;
347 internal SsBarringResponse()
354 /// <value>Record value represented in integer.</value>
355 public int RecordNumber
364 /// Specifies the maximum of SS barring records.
366 /// <value>A list of instances of SsBarringRecord.</value>
367 public IEnumerable<SsBarringRecord> Record
377 /// A class which defines SS waiting record information.
379 public class SsWaitingRecord
381 internal SsClass SsClass;
382 internal SsStatus SsStatus;
384 internal SsWaitingRecord()
391 /// <value>SS class type.</value>
403 /// <value>Status of SS call waiting.</value>
404 public SsStatus Status
414 /// A class which defines values for SS call waiting record. Applicable to 3GPP(GSM/UMTS/LTE) only.
416 public class SsWaitingResponse
418 internal int RecordNum;
419 internal IEnumerable<SsWaitingRecord> RecordList;
421 internal SsWaitingResponse()
428 /// <value>Record value represented in integer.</value>
429 public int RecordNumber
438 /// Specifies the maximum of SS waiting records.
440 /// <value>A list of instances of SsWaitingRecord.</value>
441 public IEnumerable<SsWaitingRecord> Record
451 /// A class which defines SUPS information message notification type.
455 internal SsCause Cse;
456 internal SsInfoType Type;
465 /// <value>Ss request result.</value>
475 /// SUPS information.
477 /// <value>Ss information type.</value>
478 public SsInfoType SsType
488 /// A class which defines parameters related to call barring.
490 public class SsBarringInfo
492 private SsClass _class;
493 private SsBarringMode _mode;
494 private SsBarringType _type;
495 private string _password;
496 private SsBarringInfo()
501 /// A constructor for instantiating SsBarringInfo class with the necessary parameters.
503 /// <param name="classType">Call type.</param>
504 /// <param name="mode">Barring mode.</param>
505 /// <param name="type">Barring type.</param>
506 /// <param name="password">Password (3GPP(GSM/UMTS/LTE) Specific).</param>
507 public SsBarringInfo(SsClass classType, SsBarringMode mode, SsBarringType type, string password)
512 _password = password;
515 internal SsClass Class
523 internal SsBarringMode Mode
531 internal SsBarringType Type
539 internal string Password
549 /// A class which defines the parameters related to forward info.
551 public class SsForwardInfo
553 private SsClass _class;
554 private SsForwardMode _mode;
555 private SsForwardCondition _condition;
556 private SsNoReplyTime _noReplyTimer;
557 private SsForwardTypeOfNumber _ton;
558 private SsForwardNumberingPlanIdentity _npi;
559 private string _phoneNumber;
560 private SsForwardInfo()
565 /// A constructor for instantiating SsForwardInfo class with the necessary parameters.
567 /// <param name="classType">SS Class.</param>
568 /// <param name="mode">Forward Mode.</param>
569 /// <param name="condition">Forward Condition.</param>
570 /// <param name="time">No reply wait time 5-30 secs in intervals of 5(3GPP(GSM/UMTS/LTE) Specific).</param>
571 /// <param name="ton">Type of number.</param>
572 /// <param name="npi">Numbering plan identity.</param>
573 /// <param name="number">Phone number.</param>
574 public SsForwardInfo(SsClass classType, SsForwardMode mode, SsForwardCondition condition, SsNoReplyTime time, SsForwardTypeOfNumber ton, SsForwardNumberingPlanIdentity npi, string number)
578 _condition = condition;
579 _noReplyTimer = time;
582 _phoneNumber = number;
585 internal SsClass Class
593 internal SsForwardMode Mode
601 internal SsForwardCondition Condition
609 internal SsNoReplyTime NoReplyTimer
613 return _noReplyTimer;
617 internal SsForwardTypeOfNumber Ton
625 internal SsForwardNumberingPlanIdentity Npi
633 internal string PhoneNumber
643 /// A class which defines parameters related to call waiting.
645 public class SsWaitingInfo
647 private SsClass _class;
648 private SsCallWaitingMode _mode;
649 private SsWaitingInfo()
654 /// A constructor for instantiating SsWaitingInfo class with necessary parameters.
656 /// <param name="ssClass">Call type.</param>
657 /// <param name="mode">Call waiting mode.</param>
658 public SsWaitingInfo(SsClass ssClass, SsCallWaitingMode mode)
664 internal SsClass Class
672 internal SsCallWaitingMode Mode
682 /// A class which defines values for calling line identity service. Applicable to 3GPP(GSM/UMTS/LTE) only.
684 public class SsCliResponse
686 internal SsLineIdentificationType LineType;
687 internal SsCliStatus CliStatus;
688 internal SsCliResponse()
693 /// Various line identification types.
695 public SsLineIdentificationType Type
704 /// Line identification status from the network.
706 public SsCliStatus Status
716 /// A class which defines USSD response data. Applicable to 3GPP(GSM/UMTS/LTE) only.
718 public class SsUssdResponse
720 internal SsUssdType UssdType;
721 internal SsUssdStatus UssdStatus;
722 internal byte DcsInfo;
723 internal int UssdLength;
724 internal string UssdInfo;
725 internal SsUssdResponse()
732 public SsUssdType Type
743 public SsUssdStatus Status
763 /// USSD string length.
776 public string UssdString