ABSD Billing
From Zenitel Wiki
New Data protocol messages
CDC_STATE <br\> CDC_CMD <br\> CDC_CMD could be changed with COMMAND_RESPONCE?
Basic Concept
CDC = Call Detail Control
Basic AlphaCom behavior is based on adding CDC parameters to directory numbers using feature 81, Call to remote EXCHANGE and 83, Direct Global Number. When CDC is activated for a directory number pin code signaling is expected before the "real"-feature is activated.
Startup Sequence
The WCSD software is defined as device number 198. When amcd receives a RESET_TAKEN message from device 198 it configure itself for billing.
AMCD WCSD <---- RESET_TAKEN(0) (AMCD remember the WCSD address, also AlphaNet use) COMMAND_RESPONCE (responce code) ----> (1 = Licence OK or 4 = not allowed)
Digit Collection
Example 1:<br\> System setup: <br\> AudioCodes SIP gateway, trunk line 1 programmed with number 0047. <br\> 0047 programmed in AlphaCom as feature 83 global number with flag for Call Detail Control.<br\>
WCSD programmed with pin code "12" for user "101" <br\>
User "101" dials trunk extension "0047" then local number 64871300
AMCD WCSD CDC_STATE (START, REF, 101, 0047) -----> (Starts new billing process) CDC_STATE (PIN_DIGIT, REF, 101, 1) -----> (Verify pin digits) CDC_STATE (PIN_DIGIT, REF, 101, 2) -----> <----- CDC_CMD (REF, OK) (Pin OK) (Send INVITE to SIP GW, SIP-trunk dial tone) ... CDC_STATE (ESTABLISHED, REF, 101, 0047) -----> (Sip connection established) CDC_STATE (TRUNK_DIGIT, REF, 101, 6) -----> (Collect digits for billing information) CDC_STATE (TRUNK_DIGIT, REF, 101, 4) -----> digits....871300 (When user stops dialing start billing?) .... CDC_STATE (ACTIVE, REF, 101, 0047) -----> (Received every 10 sec as a heartbeat) ..... CDC_STATE (DISCONNECT, REF, 101, 0047) -----> (Conversation disconnected)
When the link to the SIP gateway is established AlphaCom has no knowledge if the user reach a destination or not.
Example 2:<br\> System setup: <br\> SIP call manager <br\> 0047 programmed in AlphaCom as feature 81 Area code with flag for Call Detail Control and digit collection.<br\>
WCSD programmed with pin code "12" for user "101" <br\>
User "101" dials trunk extension "0047"
AMCD WCSD CDC_STATE (START, REF, 101, 0047) -----> (Starts new billing process) CDC_STATE (PIN_DIGIT, REF, 101, 1) -----> (Verify pin digits) CDC_STATE (PIN_DIGIT, REF, 101, 2) -----> (New dial tone from AMC) <----- CDC_CMD (REF, OK) (Pin OK) CDC_STATE (TRUNK_DIGIT, REF, 101, 6) -----> (Collect digits for billing information) CDC_STATE (TRUNK_DIGIT, REF, 101, 4) -----> digits..871300... (When user stops dialing start billing?) .... (User stops dialing or press M. SIP INVITE is sent with all collected digits 64871300) ... CDC_STATE (ESTABLISHED, REF, 101, 0047) -----> (Sip connection established) .... CDC_STATE (ACTIVE, REF, 101, 0047) -----> (Received every 10 sec as a heartbeat) ..... CDC_STATE (DISCONNECT, REF, 101, 0047) -----> (Conversation disconnected)
Dependent on the call manager the ESTABLISHED message can arrive during ringing or when the B-side actually lifting the handset.
Failure situations
Illegal pin code
AMCD WCSD CDC_STATE (START, REF, 101, 0047) -----> (Starts new billing process) CDC_STATE (PIN_DIGIT, REF, 101, 1) -----> (Verify pin digits) CDC_STATE (PIN_DIGIT, REF, 101, 3) -----> <----- CDC_CMD (REF, NOT_OK) (Pin not OK) (User get failure tone and disconnect) CDC_STATE (DISCONNECT, REF, 101,0047) -----> (Conversation disconnected) ...
No reply from billing WSCD
AMCD WCSD CDC_STATE (START, REF, 101, 0047) -----> (Starts new billing process) CDC_STATE (PIN_DIGIT, REF, 101, 1) -----> (Verify pin digits) CDC_STATE (PIN_DIGIT, REF, 101, 2) -----> .... timeout after 3 sec, continue call setup (Send INVITE to SIP GW, SIP-trunk dial tone) ... CDC_STATE (ESTABLISHED, REF, 101, 0047) -----> (Sip connection established) CDC_STATE (TRUNK_DIGIT, REF, 101, 6) -----> (Collect digits for billing information) CDC_STATE (TRUNK_DIGIT, REF, 101, 4) -----> .....
Illegal number series dialed
AMCD WCSD CDC_STATE (START, REF, 101, 0047) -----> (Starts new billing process) CDC_STATE (PIN_DIGIT, REF, 101, 1) -----> (Verify pin digits) CDC_STATE (PIN_DIGIT, REF, 101, 2) -----> <----- CDC_CMD (REF, OK) (Pin OK) (Send INVITE to SIP GW, SIP-trunk dial tone) ... CDC_STATE (ESTABLISHED, REF, 101, 0047) -----> (Sip connection established) CDC_STATE (TRUNK_DIGIT, REF, 101, 8) -----> (Collect digits for billing information) CDC_STATE (TRUNK_DIGIT, REF, 101, 2) -----> CDC_STATE (TRUNK_DIGIT, REF, 101, 0) -----> <----- CDC_CMD (REF, DISCONNECT) (Illegal number series 820xxx) (User get failure tone and disconnect) CDC_STATE (DISCONNECT, REF, 101, 0047) -----> (Conversation disconnected) ....