@startuml

!define MS_SERVICE Activate-Subscriber-V6
!define MS_OPERATION activate-subscriber-on-existing-account
!define LAST_UPDATE %date[yyyy.MM.dd 'at' HH:mm]%

left header
<font color=blue>MS: MS_SERVICE/MS_OPERATION</font>
endheader

title
 MS: MS_SERVICE/MS_OPERATION
 Last update: LAST_UPDATE
 
end title

hide footbox
 
center footer
  
Copyright (c) 2019 Amdocs.
 
Information Security Level 1 - Confidential
 
CONTAINS RESTRICTED - PROPRIETARY INFORMATION
 
This document is strictly confidential and proprietary; to be used only by authorized persons
on a need to know basis, and must not be distributed without specific permission.
 
In the event of unauthorized use of this document or the confidential information it contains,
violators will be subject to sever disciplinary action, based on Amdocs regulations, as well as
any other sanctions applicable by law.
 
endfooter

participant Channel
participant "Activate-Subscriber-V6\nMS" as AS
participant "Subscriber-\nManagement-V1\nMS" as SM
participant "Number-\nManagement-V1\nMS" as NM
participant "Device-\nManagement-V4\nMS" as DM
participant "TUXEDO/\nCSM" as CSM
participant "Plan-\nManagement-V5\nMS" as PM5
participant "Order-\nManagement-V4\n-MS" as OM
participant "DB" as DB


Channel -> AS: activate-subscriber-on-existing-account \nToken + JWT
activate AS
AS -> SM: getSubscriberDetailsBySubID
activate SM
ref over SM
getSubscriberDetailsBySubID
end
SM --> AS: Response
deactivate SM
AS -> AS : JWT authentication
loop For each new Subscriber
AS -> NM: getNpaNxxForSubMarketEdge
activate NM
ref over NM
getNpaNxxForSubMarketEdge
end
NM --> AS: Response
deactivate NM

AS -> DM: validateDeviceInfo
activate DM
ref over DM
validateDeviceInfo
end
DM -->AS: Response
deactivate DM
end

AS -> CSM: arGtCstBan
activate CSM
CSM -->AS: Response
deactivate CSM

AS -> PM5: getAutoCorrectedServices
activate PM5
ref over PM5
getAutoCorrectedServices
end
PM5 -->AS: Response
deactivate PM5

AS -> PM5: evaluateSubscribersPlan
activate PM5
ref over PM5
evaluateSubscribersPlan
end
PM5 -->AS: Response
deactivate PM5

loop For each new subscriber
AS -> OM: saveOrder
activate OM
ref over OM
saveOrder
end
OM --> AS: Response
deactivate OM
end

AS -> DB: qualifiersDAO.updateQualifiersForOrder
activate DB
DB --> AS: Response
deactivate DB

AS -> OM: activateSubscriberEDGE
activate OM
ref over OM
activateSubscriberEDGE
end
OM --> AS: Response
deactivate OM

AS -->Channel: Response
deactivate AS

@enduml