Previous PageTable Of ContentsHomeIndexNext Page


4.  Resource Allocation and Routing

Analog loop start protocols require a voice or tone resource for setting up a call. Application development considerations for using dedicated voice resources in an analog loop start environment are discussed in this chapter.

For Springware boards with on-board analog loop start devices, a voice device and an analog loop start device comprise a single channel. Although these devices can be addressed separately, all analog signaling is processed by the associated voice device; analog signaling (ring detection and loop current detection) events are not transmitted over the SCbus. For DM3 boards with on-board analog loop start devices, the voice device and the analog loop start device are separate devices.

Applications requiring voice resources during the entire call (for example, voice-mail, announcements) must have enough voice channels to dedicate one channel to each analog loop start channel. A single gc_OpenEx( ) function call can open both the analog loop start device and voice device on both Springware and DM3.

To perform activities such as routing and voice store and forward, use the gc_GetVoiceH( ) functions to obtain the voice handle associated with a line device. For example, before playing a file, you can retrieve the voice handle using the gc_GetVoiceH( ) function. If needed, you may route other resources to the analog loop start channel (for example, to send a fax) and reroute the voice channel back to the analog loop start channel before setting up or waiting for another call. You must route the same voice channel back to the associated analog loop start channel on Springware because these two resources were internally attached when opened. On DM3, no such restriction exists because the two resources are independent of each other.

The following example illustrates the function calls that apply when using dedicated voice resources.

 
    /* Open a Global Call device with a voice channel and an 
    
        analog loop start network time slot */

1

    if (gc_OpenEx(&linedev, ":P_na_an_io:V_dxxxB1C1", 0, &usrattr)
    == EGC_NOERR) {
 
             /*  
              * Wait for GCEV_UNBLOCKED event.
      
              */
 
             .  
             .  
             .
    
             /* Make an outgoing call */

2


    if (gc_MakeCall(linedev, &crn, "123456", NULL, 0, EV_ASYNC)
    == EGC_NOERR) {
 
                      /*  
                       * Wait for GCEV_CONNECTED event.
      
                       */
 
             } else {
 
                  /* Process error from gc_MakeCall( ) */
 
             }
 
    } else {
 
          /* Process error from gc_OpenEx( ) */
 
    }
 
    .  
    .
      
    .

Legend:

1

The gc_OpenEx( ) function:

  • opens a Global Call line device using voice channel dxxxB1C1 and configures the line device to use North America Analog Protocol.
  • opens the analog loop start time slot and voice channel automatically

SCbus time slot routing and attaching are done automatically. The function need only be called once for an analog loop start time slot/voice channel pair.

2

The gc_MakeCall( ) function is invoked once for each outbound call.


Previous PageTable Of ContentsTop Of PageIndexNext Page

Click here to contact Telecom Support Resources

Copyright 2003, Intel Corporation
All rights reserved
This page generated February, 2003