Thread View: comp.sys.next.programmer
3 messages
3 total messages
Started by Darcy BROCKBANK
Sun, 27 Sep 1992 22:30
Phonekit Flakiness... it don't work
Author: Darcy BROCKBANK
Date: Sun, 27 Sep 1992 22:30
Date: Sun, 27 Sep 1992 22:30
53 lines
1844 bytes
1844 bytes
Well, it doesn't work for me that is. 1) The example "MessageCenter" that shipped wouldn't compile because it had the wrong libraries. I changed the library from libphonekit to libphone, and it compiled. 2) MessageCenter now crashes whenever incoming calls arrive. 3) Giving up on this nice example, I've been struggling along with the flakiness of the phonekit. The flakiness could be due to the fact that I don't know what the hell I'm doing however... In any event, my NXPhoneCall subclass is implimenting ALL of the notification messages. - dialToneReceived - dialingComplete - remotePickup - remoteHangup - toneReceived - remoteRing - callReleased - remoteBusy However, it never recieves notification of: - remotePickup - remoteRing - dialingComplete - remoteBusy But it gets all of the others nicely... Why would half of the methods get called, and half not? I know for sure that the call is getting through, because I'm calling our other line and answering the damn phone myself. I hang it up then, or hit some buttons first, and get the - tone... and -remoteHangup messages, but I don't get the others. Is there anyone else out there having problems with this stuff? Can someone please give me some hints? I'm in Canada, and I'm using an ISDN Extender on a POTS line. - db (Wishing I had $225 so NeXT could tell me what's going on)
Re: Phonekit Flakiness... it don't work
Author: curt
Date: Tue, 29 Sep 1992 04:10
Date: Tue, 29 Sep 1992 04:10
65 lines
2960 bytes
2960 bytes
In comp.sys.next.programmer, samurai@cs.mcgill.ca (Darcy BROCKBANK) writes: >Well, it doesn't work for me that is. > >1) The example "MessageCenter" that shipped wouldn't compile >because it had the wrong libraries. I changed the library >from libphonekit to libphone, and it compiled. It compiled fine for me without any problems and without any changes. Are you using project builder? The Makefile uses these libs: LIBS = -lphone_s -lMedia_s -lNeXT_s What is this libphonekit you are talking about? Are you running 3.0 or one of the pre releases? >2) MessageCenter now crashes whenever incoming calls arrive. Message Center doesn't handle errors very well - hey it's a demo. It was doing that for me at one point. Check the console log for an error messages - then if there is one, find it in the code and figure out what's going on. When I had the same problem, it was because I had recorded a new greating, and later removed the .snd file. If message center can't open the greating file, it just prints an error and exits (it doesn't bomb). It would try to open the file whenever a new phone call came in. >3) Giving up on this nice example, I've been struggling along >with the flakiness of the phonekit. > >The flakiness could be due to the fact that I don't know what >the hell I'm doing however... >However, it never recieves notification of: > >- remotePickup >- remoteRing >- dialingComplete >- remoteBusy >I'm in Canada, and I'm using an ISDN Extender on >a POTS line. How can a POTS interface know that the remote end has picked up the phone? It can't (at least not very easilly). And remote Ring and remoteBusy could only work if it had very intelligent tone detection - which I assume it doesn't. I assume that these only work for ISDN calls. The NeXT ISDN Extender is an ISDN interface that does POTS on the side. I don't think it was ever intended to be a great POTS interface. These type of signals come over the ISDN D channel as digital messages, so it's easy to relay this information to the program. To try to get these functions on a POTS line, you have to write very fancy tone detection DSP code. Maybe NeXT will add that one day, but I wouldn't hold my breath. You can always just process the data stream yourself and look for ring tones. However, dialingComplete should work for POTS. The manual even says that you have to use it to insert delays which are sometimes needed. I've never tried it yet so I don't have an idea why that wasn't working for you. Curt Welch
Re: Phonekit Flakiness... it don't work
Author: Darcy BROCKBANK
Date: Wed, 30 Sep 1992 16:13
Date: Wed, 30 Sep 1992 16:13
136 lines
5679 bytes
5679 bytes
In article <1992Sep29.041031.11735@kcwc.com> curt@kcwc.com (Curt Welch) writes: >In comp.sys.next.programmer, samurai@cs.mcgill.ca (Darcy BROCKBANK) writes: >>Well, it doesn't work for me that is. >> >>1) The example "MessageCenter" that shipped wouldn't compile >>because it had the wrong libraries. I changed the library >>from libphonekit to libphone, and it compiled. > >It compiled fine for me without any problems and without any >changes. Are you using project builder? The Makefile >uses these libs: Right... what happened was that I had an old copy of MessageCenter from the PR2 days... that was the one that was buggy and crashed, and the new one works fine. Anyway, I guess the old lib was "libphonekit".. and that's what was in the makefile. >>3) Giving up on this nice example, I've been struggling along >>with the flakiness of the phonekit. >> >>The flakiness could be due to the fact that I don't know what >>the hell I'm doing however... > >>However, it never recieves notification of: >> >>- remotePickup >>- remoteRing >>- dialingComplete >>- remoteBusy > >>I'm in Canada, and I'm using an ISDN Extender on >>a POTS line. > >How can a POTS interface know that the remote end has picked up >the phone? It can't (at least not very easilly). And remote Ring >and remoteBusy could only work if it had very intelligent tone >detection - which I assume it doesn't. I assume that these only >work for ISDN calls. The NeXT ISDN Extender is an ISDN interface Question: why isn't it in the docs???? The Docs say that POTS works with the phone kit voice calls. They don't say it works 50% with voice calls. Why don't the methods say "this won't work with POTS." So far, nobody at NeXT has said anything as to why these methods aren't working. Why do we have to "assume" all of this anyway? It really should be documented! >that does POTS on the side. I don't think it was ever intended to >be a great POTS interface. These type of signals come over the ISDN Still, they claim POTS functionality, which is why we bought $1,200 worth of extenders. We don't have ISDN in Canada, and we likely will not get ISDN any time before 2,000 A.D. If the phone kit DOESN'T work with POTS (they claim it does), then I'm screwed. >D channel as digital messages, so it's easy to relay this information >to the program. To try to get these functions on a POTS line, you >have to write very fancy tone detection DSP code. Maybe NeXT will >add that one day, but I wouldn't hold my breath. You can always >just process the data stream yourself and look for ring tones. Well, they were intelligent enough to be able to handle touch tones, and I don't see why it would be much harder to handle ring tones or busy tones. Hell, I don't even get notification that I'm finished dialing!!! If I at least knew that I'd be in better shape. I suppose that failing all else, I could just scan the streams (provided they work with POTS) and try to figure out what's happening from that. HELLO NEXT??? CAN SOMEONE SHED SOME LIGHT ON THIS? Can someone just say, "Yes it works, so you're obviously screwing up somewhere." - or - "No it doesn't work, so stop banging your head on it." Please? Please? Someone? > >However, dialingComplete should work for POTS. The manual even It doesn't work for me. Sigh. >says that you have to use it to insert delays which are sometimes >needed. I've never tried it yet so I don't have an idea why >that wasn't working for you. I know, but if some methods don't work, and some do, and we weren't told which, then we have no way of knowing for sure. Maybe someone forgot this too was an ISDN-only method. That's not to say that I know that there are ISDN-only methods or not (I hope not)... Further complaints and words of wisdom. 1) alloc your NXPhone object first. If you try to alloc it after a channel or a call, then you WILL crash. It has to be done in order. 2) If a NXPhone can't do an ISDN init (or something like that) attempting to add a channel to it WILL MAKE YOUR PROGRAM exit(0). That's not a very nice thing to do, having your server kill off a client like that. It should RAISE or return nil or SOMETHING that will allow you to recover. 3) The PhoneServer is not very robust. While making your app, be prepared to have root kill the PhoneServer process at any time. If your app corrupts it (which is VERY easy to do), then it has to be killed. Allocing an NXPhone will start the server again. 4) Even if your ISDN extender is NOT plugged into a phone line, the PhoneServer will still issue a "dialToneReceived" message ALTHOUGH THERE IS NONE. This made me lose a LOT of time trying to figure out why the other phone wasn't ringing... :-). Stupid error, and my fault BUT HOW CAN THE PHONESERVER FIND A DIAL TONE WHEN THERE IS NO PHONE LINE!!! Anyway, I'm still begging for some official clarification on this issue..., and hopefully it's in the loop. - db
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads