[asterisk-users] Re: Dell PowerEdge 2950 Sharing NIC IRQ with Digium Card
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
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
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?
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
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
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
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