Actions

Difference between revisions of "ABSD Billing"

From Zenitel Wiki

(Startup sequence)
Line 6: Line 6:
  
  
 +
== Basic Concept ==
  
== Startup sequence ==
+
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 ==
  
  

Revision as of 15:35, 7 March 2008

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                                                        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)
....