[asterisk-users] Re: Dell PowerEdge 2950 Sharing NIC IRQ with Digium Card

2007-02-10 Thread David Cook (Canada)
 to do it is archaic.  What?!?!   The Dell tech guy kept saying that
 I can
 define an IRQ in Linux, and I kept telling him that I need two unique
 (not

Doesn't IO-APIC work for you or is that what you meant by virtual IRQ?
I thought IO-APIC changed the way the APIC worked but it was under OS
control and therefore they could put smaller/simpler/cheaper BIOS in
the raw box.

Please correct me if I'm missing the boat. (I had a sharing problem in
my PowerEdge 1400SC and IO-APIC seemed to fix it up nicely. The server
has been in operation for 6 yrs now with Asterisk running on it for the
past 3).

David Cook
___
--Bandwidth and Colocation provided by Easynews.com --

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-users


[asterisk-users] Re: Dell Server Question

2007-01-25 Thread David Cook (Canada)
Quoting Nick Whitaker [EMAIL PROTECTED]:
 The problem I'm
 having
 is the only PCI slot shares an IRQ with the SATA controller.  Any
 altering of one device's IRQ takes the other device's IRQ with it in
 lockstep.
Nick, the word from Dell is that SC stands for Simplified
Configuration and there is less ability to move stuff around as you
wish. I too have a PowerEdge SC series (SC1400) which caused me some of
the same grief you are experiencing.

My basic understanding is that some of the PCI IRQ's are tied together
as there is less hardware/firmware support and is one reason the units
are so price competitive. Don't get me wrong. I love the box for it's
price/performance point and it has been rock solid for 5 yrs.

I fixed this by changing the linux kernel to include IO-APIC support
which permits the OS to route interrupts without overlapping IRQ's. I'm
assuming any reasonably new Dell hardware will support this and it comes
on by default in most SMP distributions.

You then get IRQ's ranging into the hundreds with no overlap. Note the
eth0, Cyclom-Y, 2 SCSI's  Sangoma which used to share in the old
scheme getting IRQ's into 3 digits.

# cat /proc/interrupts
   CPU0
  0: 2850398012IO-APIC-edge  timer
  1:952IO-APIC-edge  i8042
  8:  1IO-APIC-edge  rtc
  9:  0   IO-APIC-level  acpi
 11:  0   IO-APIC-level  ohci_hcd
 12:   3894IO-APIC-edge  i8042
 14:   64252737IO-APIC-edge  ide0
177:   52753938   IO-APIC-level  eth0
185: 260531   IO-APIC-level  Cyclom-Y
193:   25788929   IO-APIC-level  aic7xxx
201: 30   IO-APIC-level  aic7xxx
209: 2849304364   IO-APIC-level  wanpipe1
NMI:  0
LOC: 2850775576
ERR:  0
MIS:  0

dbc.
--
David Cook
___
--Bandwidth and Colocation provided by Easynews.com --

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-users


[asterisk-users] Re: Running Asterisk on a Home rotuer

2006-12-07 Thread David Cook (Canada)
On 12/7/06, Dovid B [EMAIL PROTECTED] wrote:

  Hi list,
 Can anyone who has successfully ran asterisk on a home router please
give
 me the modell number as well as how they did it ?

 Thanks.
 Dovid

Sure. I have 5 units out there on Linksys WRT54GS v1.1 through v4
units. The software is OpenWRT.org. Asterisk is simply an available
package to load once you have replace the original firmware with
OpenWRT.

There are several models that can run the software. Check the HW compat
list on the site. They go right down to revision numbers identified by
serial # patterns.

Be careful of the amount of RAM they have. You will be storing voicemail
in RAM unless you put it off-device like an NFS mount, etc. (Some
mfg/models have USB2 ports and you can put a USB stick on them and
basically forget about the problem).

--
David Cook (Canada)



___
--Bandwidth and Colocation provided by Easynews.com --

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-users


[asterisk-users] Re: Rewriting caller ID from database?

2006-11-23 Thread David Cook (Canada)
Vincent Delporte wrote:
 Hi

 Most of our customers have generic names like Hospital, so I need
to
 rewrite their caller ID name by looking up the number in a database
on
 the Asterisk server, and rewriting the name such as Reading
Hospital
 so that we know who's calling.

 Any idea if this can be done with Asterisk, and how to do it?

Little C and AGI to the rescue (uses MySQL too). DB schema in the code
comments at the top.

dbc.

extensions.conf:
;; Advantech primary context (Sangoma A200D ports 12);;;
;; Primary telco number (905-xxx-)
;
[advan-primary]
exten = s,1,NoOp(Primary line - ${CALLERID})   ; write log entry
exten = s,n,agi,clid_override|${CALLERID(NUM)} ; CLID agi override
exten = s,n,Goto(cook-main-menu,s,1)   ; Jump to main menu
exten = s,n,Hangup ; end/fallthrough

clid_override.c:
/* clid_override.c
 * (c) Advantech Systems Integration, 2006
 * Author: David B. Cook, [EMAIL PROTECTED], 905/xxx-
 * Initial Delivery: Version 1.0, March 1, 2006
 *
 * Application to set the CLID NAME field from a local database
 * when the field comes in empty from the carrier.
 *
 * Meant to be called from Asterisk as an AGI lookup
 * Connects to MySQL database : CLID_NAME
 *
 * Database definition
 * # Host: localhost
 * # Database: asterisk
 * # Table: 'CLID_NAME'
 * #
 * CREATE TABLE `CLID_NAME` (
 *  `CLID_NUM` varchar,
 *  `CLID_NAME` varchar,
 *  PRIMARY KEY  (`CLID_NUM`)
 * ) TYPE=InnoDB; * CLID_NAME
 *
 * Modification History:
 * XXX 00,00  dbc   - Example modification history format
 */

#include stdio.h
#include stdlib.h
#include mysql/mysql.h
#include string.h

#if !defined(MYSQL_VERSION_ID)||MYSQL_VERSION_ID32224
#define mysql_field_count mysql_num_fields
#endif

#define SELECT1_QUERY select CLID_NAME from CLID_NAME where
CLID_NUM='%s'

int main(int argc, char **argv)
{
  MYSQL mysql,*sock;
  MYSQL_RES *res;
  MYSQL_ROW row;
  char *DBhost=put hostname here;
  char *DBuser=put MySQL username here;
  char *DBpw=put MySQL password here;
  char *DBdb=put MySQL database name here;
  char  qbuf[512];
  int   i=0;
  char  line[80];

  /* use line buffering */
  setlinebuf(stdout);
  setlinebuf(stderr);

  /* read and ignore AGI environment */
  while (1) {
fgets(line,80,stdin);
if (strlen(line) = 1) break;
  }

  sprintf(qbuf,SELECT1_QUERY, argv[1]);
  /* debug: show query formulation */
  /* printf(SQL: %s\n, qbuf); */

  /* Initialize and connect to the server */
  mysql_init(mysql);
  if (!(sock =
mysql_real_connect(mysql,DBhost,DBuser,DBpw,DBdb,0,NULL,0)))
  {
fprintf(stderr,Couldn't connect to
engine!\n%s\n\n,mysql_error(mysql));
perror();
exit(1);
  }

  /* Perform query to determine if a row exists in the database for the
   * CLID in question.
   */
  if(mysql_query(sock,qbuf))
  {
fprintf(stderr,Query 1 failed (%s)\n,mysql_error(sock));
exit(1);
  }

  /* No results - fatal error */
  if (!(res=mysql_store_result(sock)))
  {
fprintf(stderr,Couldn't get result from query failed\n,
mysql_error(sock));
exit(1);
  }

  if(mysql_num_rows(res)=1) {
/* CLID is PK so should only be 1 row, but I'm going to*/
/* say = just so it won't break if no PK and multiple hits.   */
/* If so, will just re-set CLID again but won't break Asterisk */
while(row=mysql_fetch_row(res)) {

  printf( Set VARIABLE CALLERID(name) \%s\ \n, row[0]);

  /* send the output back to Asterisk */
  fgets(line,80,stdin);
  fputs(line,stderr);
}
   }
  /* Clean up memory tables/free resources */
  mysql_free_result(res);

  /* Terminate the database connection */
  mysql_close(sock);
  exit(0);
  return 0;   /* Keep some compilers happy */
}
___
--Bandwidth and Colocation provided by Easynews.com --

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-users


[asterisk-users] Re: Queues and multiple lines

2006-11-08 Thread David Cook (Canada)
Michael Sampson wrote ..
 Say I have agents using a softphone like eyebeam that has 6 lines.
 They
 log in to the queue. Say there are 3 agents in my queue. 3 calls come
 in
 and all three agents are on a call. Now a fourth call comes in. Is it
 possible to have it setup so that the 4 call rings on line 2 of one
 of
 my agents, if they don't get it within the time limit it rings on
 line 2
 of another agent and so on. An agent can then put their current call
 on
 hold and go to the new call, say something like thanks for calling
 please hold, then go back to their first call, finish it up and then
 go
 back to the second call.

Michael, I don't think you want to do this in a Contact Centre
environment. Remember that once the agent has answered the call you
have now locked the caller to that agent. If another agent becomes
available first, they will no longer get the call. The free agent will
sit idle (or get the next call in queue which is NOT the caller who was
answered). The caller who was answered on line x by the other agent
must wait in perpetuity for the agent to become available, yet their
TALK TIME clock is running as the call WAS ANSWERED and ASSIGNED to the
agent.

You are better to play announcements during the queue wait time to say
whatever you want communicated to the people in queue. This way they
maintain their position in queue, the availability to be assigned to
any available agent that becomes available and their call stats work
out.

The call stats are really important as this is how you are going to
measure you agents. Even if you can separate the hold/talk times, your
stats for the agents will become meaningless and hurt your Work Force
Management (WFM) programs and seriously impair you ability to
manage/measure your people.

dbc.
___
--Bandwidth and Colocation provided by Easynews.com --

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-users


Re: [asterisk-users] using asterisk to do remote control

2006-10-20 Thread David Cook (Canada)
 If you just want to control a couple of digital points this hardware
may  be overkill, but it is cool stuff.

For smaller implementations you can just use the outbound control lines
(DTR  RTS) on an RS232C port. That can give you control of two on/off
devices.

They only sink about 20ma so isolate them with a solid state relay or
something. A C program to turn on/off is fairly trivial and run it from
AGI. I don't want to clutter the list with code but I can supply if
anyone needs it.

dbc.
--
David Cook



___
--Bandwidth and Colocation provided by Easynews.com --

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-users


[Asterisk-Users] zapata configuration parsing

2006-03-26 Thread David Cook (Canada)
Hi gang. Just put an FXS port on a Zap interface for the first time. I
can't figure out which parameters in zapata.conf are global and which
ones can be channel specific  nested. I have mucked around with it but
I can't seem to make any effect on the gain levels on a per channel
basis.


dring1context=pbx   }
dring1=0,0,0} obviously global because it sets conditions for
dring2context=fax   } all inbound calls
dring2=387,321,0}

signalling=fxs_ks   } is this the lead or should channel be the lead
group=1
channel=1-2
rxgain=6} can this go here to effect just chan 1-2?
txgain=0}

signalling=fxo_ks
group=2
mailbox=500
channel=3
rxgain=0
txgain=0

mailbox=
channel=4
rxgain=0
txgain=0

Thanks, dbc.
--
David Cook (Canada)
___
--Bandwidth and Colocation provided by Easynews.com --

Asterisk-Users mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-users