Voice/Data linesharing mod for 4.22 - Uses GTE's Smart Ring Josh Weide #267 @19911 Monday, February 15, 1993 7:11 pm ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ Mod Name: FLASH003.MOD Date: 2/15/93 ³ ³ Mod Author: Flashman #62 @9939 WWIVNet ³ ³ Difficulty: You could almost do the mod by accident. ³ ³ WWIV Version: 4.22 ³ ³ Files Affected: bbs.c ³ ³ Description: Allows voice/data line sharing by being able to determine ³ ³ between a regular call and GTE's Smart Ring. ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ Definition of line sharing (In case you need it): Line sharing is a way to use a phone line for data and voice calls, without the two interfering with each other. Do you run a BBS only part time, because you cant afford a new line? That's my case too. Well I was thinking about some way to enable voice/data line sharing with my board so I could go 24 hours, and I remembered this handy dandy little option that GTE offers. With their Smart Ring option, your phone line has two phone numbers, and each of them rings differently. One line rings normal, Ring....Ring.....Ring....., and the other line does double rings, Ring-Ring....Ring-Ring....Ring-Ring....(I know, you never would have uderstood if it weren't for my awesome text interpretation of the rings..) Anyway, I figure if the BBS can decipher the rings, and only pick up on one type, it would be a great way to line-share. So enough with the explanation, on with the mod. DISCLAIMER: If this mod causes your computer to start programming you, I'm not responsible! STEP ONE: Duh! What's every mod's first step? Say it with me now, BACK UP YOUR SOURCE CODE!!! And a nifty way of getting that done is to type: PKZIP SOURCE *.C *.H in the directory your source code is in. STEP TWO: Load bbs.c. Now because I'm a nice guy, I'm going to include both mod methods. The one to make Smart Ring be your voice line AND the one to make regular ring be your voice line. In my case, I wanted the voice line to be the one with Smart Ring, but the code for the opposite was a lot easier, and thusly I found it first. Now I had to do so much jumbling of stuff in this little section of code, so I'm just going to have you delete code and replace it. This part applies for both methods. Find void getuser() and remove this chunk of code: outs("* "); if (mode_switch(1.0,0)==mode_ring) answer_phone(); else if (modem_mode == mode_con) { incom=outcom=1; if (!(modem_flag & flag_ec)) wait1(45); else wait1(2); } } } METHOD ONE - Smart Ring as VOICE line: Replace that code with this: outs("* "); if (mode_switch(1.0,0)==mode_ring) { if (mode_switch(2.0,0)==mode_ring) { outs("\x0c"); outs("Voice call detected. Suspending program for 60 seconds."); sleep(60); incom=outcom=1; if (!(modem_flag & flag_ec)) wait1(45); else wait1(2); } else answer_phone(); } } } METHOD TWO - Regular ring as VOICE line: Replace the code with this: outs("* "); if (mode_switch(1.0,0)==mode_ring) if (mode_switch(2.0,0)==mode_ring) answer_phone(); else { outs("\x0c"); outs("Voice call detected. Suspending program for 60 seconds."); sleep(60); outs("\x0c"); incom=outcom=1; if (!(modem_flag & flag_ec)) wait1(45); else wait1(2); } } } STEP THREE: That's it! Just save bbs.c and recompile. Was that painless or what? You now have a fully-functional voice/data linesharing BBS. Hope you enjoy it! If you use this mod, I'd like to know. E-mail me at 62@9939 on WWIVNet and let me know how you like it. Or if you haven't tried it out yet, let me know how you like the idea. 7Flash2Man