Open APIs

Expand all | Collapse all

TMF641 - How to Suspend a Service?

  • 1.  TMF641 - How to Suspend a Service?

    TM Forum Member
    Posted May 16, 2019 04:58
    We are looking into way to Suspend a Service (either because it's customer initiated, like seasonal suspension, or for non-payment)

    What we've noticed so far:
    • ServiceOrderItem.action enumeration are: add, modify, delete, noChange.
      • In our current implementation, we are following 2 behaviours:
        • In some cases, we use ServiceOrderItem. action like a "Suspend" or "Resume", in addition to "add", "modify", "delete"...
        • In other cases, because we need to keep track of the suspension reason, we use ServiceOrderItem.action "modify", and Add a Suspension "Configuration" under the Service. the Suspension Configuration contains a SuspensionReason chraracteristic where we carry values like "Seasonal" or "Non-Payment" 
      • We concluded that suspension/resume are not handled via the  ServiceOrderItem.action

    • ServiceRestriction.state enumeration are: feasibilityChecked, designed, reserved, inactive, active, terminated.
      • We assume that the suspend action would be a PATCH operation where service.state = 'inactive'
      • Similarly, the resume action would be a PATCH operation where service.state = 'active'

    Is our understanding of handling Suspension correct?


    ------------------------------
    Stephane AH-KO
    CGI
    ------------------------------
    DT America


  • 2.  RE: TMF641 - How to Suspend a Service?

    TM Forum Member
    Posted May 19, 2019 16:10
    Since the service lifecycle states are extensible, we added as "Suspended" state.   The standard isn't very clear but the state values are defined as "such as" meaning they are examples and not a defined, fixed list.   (I've opened Jira tickets on the wording so hopefully its clearer in the future).

    The reason for a new state versus overloading "inactive" was to keep the definition of inactive as ready to activate (all resources allocated and ready*).   Depending on the reason and/or length of a suspension, some resources may be allocated to the suspended service (e.g., phone number) and other freed (reserved capacity).

    There's always a trade off between adding a state and overloading existing ones.   We tried to have a clear status of the resources for each of the states and that drove creating a new state.

    *Our definition of "ready" would include things like VNFs that could be spun up when the service was made active, they didn't have to be running in the inactive state but all resources have to be able to be active in a short time frame (minutes or less).

    ------------------------------
    Corey Clinger
    Network as a Service Architect
    Telstra
    ------------------------------

    DT America


  • 3.  RE: TMF641 - How to Suspend a Service?

    TM Forum Member
    Posted May 19, 2019 16:13
    @Ludovic Robert, the domain expert for Service Ordering, is probably the best person to give an answer.
    Your analysis seems reasonable. The question is whether the suspend reason should be part of the Service inventory, or rather would be better managed in the Product inventory (which is more likely to be exposed to the end ​customer).

    ------------------------------
    Jonathan Goldberg
    Amdocs Management Limited
    ------------------------------

    DT America


  • 4.  RE: TMF641 - How to Suspend a Service?

    TM Forum Member
    Posted May 20, 2019 04:02
    Hello

    We had same approach than @Corey Clinger and adding a suspended status (reacheable from inactive or active service status). The user cannot uses a suspended service and depending on the service we could suspend/inactive also some associated resource(s).

    In order to suspend a service, from my perspective it it possible to do this:
    • via a service order with a action change and a serviceState valued to 'suspended',
    • via activation & configuration via a PATCH service to directly modify the service state,
    Choice depends on your API architecture implementation but from API perspective both are valid for me.

    Technically Service inventory API could be also use but it more for admin resason (to fix the installe base representation) but not to trigger operational suspension in the network.
    Ludovic


    ------------------------------
    Ludovic Robert
    Orange
    ------------------------------

    DT America


  • 5.  RE: TMF641 - How to Suspend a Service?

    TM Forum Member
    Posted May 20, 2019 04:02
    I have a different view of suspension and have implemented it as such in a number of cases.

    In many cases suspension is not a use case that disables a service. For voice services very often emergency calls and calls to customer care are still permitted. For data packages sometimes a reduced bandwidth is still available. Some countries have regulations that Free-to-Air TV channels should not be removed.

    Therefore an "depended" suspension service is defined that modifies the properties of the base service.
    The suspension use case becomes adding an optional service; the resuming use case is the removal of this service.

    This way of modeling allows a very fine grained catalog based definition of what needs to happen in case of suspension and no additional states are required for services.

    Regards

    ------------------------------
    Koen Peeters
    Ciminko Luxembourg
    ------------------------------

    DT America


  • 6.  RE: TMF641 - How to Suspend a Service?

    TM Forum Member
    Posted May 21, 2019 09:00
    Thanks all for your inputs

    @Koen Peeters. We had a similar view for our Voice Service, where in our case, instead of adding a new "suspension" service, we added a "suspension" feature that could be added or removed under the Voice Service. The approach did not have lots of supporters...

    We are now looking into using the service state. We were looking into extended the service.enumeration to "suspended" state. Thanks @Corey Clinger and ​​​@Ludovic Robert confirming the direction taken in your respective organizations.

    ------------------------------
    Stephane AH-KO
    CGI Info Systems Management Consulting Inc.
    ------------------------------

    DT America


  • 7.  RE: TMF641 - How to Suspend a Service?

    TM Forum Member
    Posted May 22, 2019 09:04
    Hi Stephane,

    I would like to add one more remark to the discussion.

    In our experience using a "suspended" status on the status, does not work very well with catalog driven fulfilment.
    That was an additional reason for not using it.

    Regards









    DT America


  • 8.  RE: TMF641 - How to Suspend a Service?

    TM Forum Member
    Posted May 21, 2019 09:00
    The scenarios for Customer initiated suspension nd operator initiated suspension need to be handled separately.
    For voluntary suspension, the ServiceOrdertime. action neds to be used by extending actions with values like SUSPEND, RESUME etc
    For Involuntary Suspension, Service Restriction.state needs to be used

    ------------------------------
    Sri Jagadish Baddukonda
    Principal Consultant
    Sigma Systems
    ------------------------------

    DT America


  • 9.  RE: TMF641 - How to Suspend a Service?

    TM Forum Member
    Posted May 22, 2019 09:04
    Hi Stephane,

    The action may continue to serve the suspension and resumption by way of adding and removing addon products with or without ​any commercial implications. However these can translate to resource facing services that suspend one or more services or resume the same. Some data models of some mature telco's employ innovative solutions using OO concepts.
    Regards
    Surojit

    ------------------------------
    Surojit Mukerji
    Enterprise Architect
    ------------------------------

    DT America