<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1">
  <title></title>
</head>
<body>
You need to completely understand Asterisk's architecture before you
can pull off a viable calling card solution.<br>
<br>
<br>
Jeremy McNamara<br>
<br>
<br>
Wu Jiang wrote:<br>
<blockquote type="cite" cite="mid00c301c320e1$0b3ca4c0$0100a8c0@sun">
  <pre wrap="">Yes, I had wanted to use AGI, and referred eagi_test.c. But I didn't find the samples or documents to figure out how to implement to following senario (a pre-paid card application): 
1. After answer an incoming call on channel 1, make an outbound call via channel 2.
2. If the callee on channel 2 answers, bridge channel 1 and 2, and record the time; when either part hangs up, disconnect the other part and record the time.

In the AGI command list I didn't find something like "transfer" or "dial" to make a call. so I thought I had to turn to the lower API.

regards,

James


----- Original Message ----- 
From: "Mark Spencer" <a class="moz-txt-link-rfc2396E" href="mailto:markster@digium.com">&lt;markster@digium.com&gt;</a>
To: <a class="moz-txt-link-rfc2396E" href="mailto:asterisk-users@lists.digium.com">&lt;asterisk-users@lists.digium.com&gt;</a>
Sent: Thursday, May 22, 2003 10:24 PM
Subject: Re: [Asterisk-Users] libpri and zap lib


Have you considered using the Asterisk API?  It will almost certainly be
much easier to develop your application rapidly using it.

Mark

On Thu, 22 May 2003, Wu Jiang wrote:

  </pre>
  <blockquote type="cite">
    <pre wrap="">Hello all,

I have some questions about the libpri and zap lib. I've sent mail to Mark for help. Also I wonder whether anyone else would be interested and helpful in them.

I'm going to migrate a program to Wildcard E400P card. Our original program is based on C API similar to the functions provided in libpri.h and zap.h, so I want to use the E400P card in the following way:
1. install and make zapata, zaptel, libpri
2. load the modules:
    modprobe zaptel
    modprobe tor2
3. edit the /etc/zaptel.conf, the run zaptel/ztcfg to configure the modules
4. run my program

My program will do the followings:
1. open D-channel /dev/zap/16 , /dev/zap/48 and run pri routine on it:
    dfd1 = open("/dev/zap/16", O_RDWR);
    dfd2 = open("/dev/zap/48", O_RDWR);
    pri1 = pri_new(dfd1, node, swtype);
    pri2 = pri_new(dfd2, node, swtype);
    /* check and handle the ISDN events on pri1, pri2 as shown in pritest.c*/
2.detect DTMF, play audio file, bridge channels, disconnect channels with zap functions:
    zap_getdtmf();        /* check DTMF*/
    zap_playf();          /* play audio file*/
    zap_conf();           /* bridge 2 channels*/
    zap_clearlinks();     /* disconnect bridged channels*/

Is the above a feasible way?

In the Asterisk code,  the /dev/zap/channel is used for all ISDN D-channels. I haven't understood it clearly. Could you please explain its usage?

Thanks a lot,

James

&yuml;&yuml;&yuml;&yuml;&yuml;&yuml;&yuml;&yuml;&yuml;&yuml;&yuml;&yuml;&yuml;&yuml;&yuml;&yuml;&yuml;&yuml;&yuml;&yuml;&yuml;&yuml;&yuml;&yuml;&yuml;&yuml;&yuml;&yuml;&yuml;&yuml;&yuml;&yuml;&yuml;&yuml;&yuml;&Agrave;&sup2;&times;&laquo;S&Eacute;&yuml;R&Ccedil;&laquo;&sup2;f&cent;-)&agrave;-+-&Euml;^&reg;+$&yacute;K&reg;&Iuml;&aring;S&Euml;l&yacute;&Oslash; S&eacute;&yuml;r?&iexcl;&para;&Uacute;&yuml;&yuml;&ugrave;b&sup2;&Ucirc;&yuml;v("&ordm;o&Uuml;&cent;o&aelig;j)fj?&aring;S&Euml;b&#157;&uacute;?j&Euml;^&reg;+$&thorn;&euml;

    </pre>
  </blockquote>
  <pre wrap=""><!---->
_______________________________________________
Asterisk-Users mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Asterisk-Users@lists.digium.com">Asterisk-Users@lists.digium.com</a>
<a class="moz-txt-link-freetext" href="http://lists.digium.com/mailman/listinfo/asterisk-users">http://lists.digium.com/mailman/listinfo/asterisk-users</a>
&yuml;&yuml;&yuml;&yuml;&yuml;&yuml;&yuml;&yuml;&yuml;&yuml;&yuml;&yuml;&yuml;&yuml;&yuml;&yuml;&yuml;&yuml;&yuml;&yuml;&yuml;&yuml;&yuml;&yuml;&yuml;&yuml;&yuml;&yuml;&yuml;&yuml;&yuml;&yuml;&yuml;&yuml;&yuml;&Agrave;&sup2;&times;&laquo;&#352;&Eacute;&yuml;R&Ccedil;&laquo;&sup2;f&cent;&#8211;)&agrave;&#8211;+-&Euml;^&reg;+$&yacute;K&reg;&Iuml;&aring;&#352;&Euml;l&yacute;&Oslash;&nbsp;&#352;&eacute;&yuml;r&#8240;&iexcl;&para;&Uacute;&yuml;&yuml;&ugrave;b&sup2;&Ucirc;&yuml;v("&ordm;o&Uuml;&cent;o&aelig;j)fj?&aring;&#352;&Euml;b&#157;&uacute;?j&Euml;^&reg;+$&thorn;&euml;
  </pre>
</blockquote>
<br>
</body>
</html>