ABSD Billing
From Zenitel Wiki
New Data protocol messages
CDC_STATE <br\> CDC_CMD <br\> CDC_CMD could be changed with COMMAND_RESPONCE?
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 WSCD <---- 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 WSCD 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 now 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 WSCD 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,64871300) -----> (Sip connection established) .... CDC_STATE (ACTIVE, REF, 101,64871300) -----> (Received every 10 sec as a heartbeat) ..... CDC_STATE (DISCONNECT, REF, 101,64871300) -----> (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 WSCD 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 WSCD 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 WSCD 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) ....