Modem Dialler (not GSM/3G!) With DBus Interface
Hi.
I am a developer working on an application which needs to dial out via modem. The modem activation/deactivation is done programmatically by the application, which may be running unattended. The online time is billed by the minute at a very high rate so it is imperative that the dialler does its best to terminate a connection whenever signalled to do so by the application. The preferred means of communication with the dialler would be via DBus, due to design/architectural considerations. The current solution relies on a DBus wrapper around pppd, but it has been found lacking in reliability (leaving connections open from time to time). I have already reviewed some candidates such as wvdial, and network-manager but unfortunately those were unsuitable. Any alternatives you could suggest would be much appreciated. |
Greetingz!
Okay, let me make sure we have the facts.... a) You're trying to build-in to your application support for controlling a Plain-Old-Telephone-System (POTS) modem. b) This isn't a GSM/CDMA/3G/4G/ATM modem. c) You want to use D-Bus to control a GUI-based dialer. d) You already have a wrapper for pppd, but it's unreliable. Now for the questions; Have you made sure pppd was configured properly? I assume you have defined "active-filter"? Code:
active-filter filter-expression Code:
idle n Specifies that pppd should disconnect if the link is idle for n seconds. The link is idle when no data Have you tried dip? |
Hi xeleema.
Thank you for your answer. Quote:
Quote:
Quote:
Quote:
'B': Background process which holds/processes some data which requires regular or irregular updates over PPP. 'C': Background process which establishes or tears down a PPP connection and tells 'B' (or whoever is interested) that a connection is up / down. 'D': GUI process which interrogates 'B'. It does not talk directly do 'C', but can cause 'B' to tell 'C' to do some action. Quote:
Now for the questions; Quote:
Quote:
That said, using active-filter with a very restrictive filter could very well be the answer to both the connect and disconnect use cases, obviating the need for process 'C' above, so I will research into that. Thanks a lot for bringing this to my attention! Quote:
Quote:
* establish PPP connection (using predefined settings) * tear down PPP connection * expose a DBus method to command the two actions above. * expose a DBus signal to let anyone interested know when the link is available / no longer available. Quote:
Quote:
Once again, thanks for your help, especially the excellent lead on using demand dialling mode. I'll get back to let you know how that worked after it's been tested (it could take up to a couple of months due to other commitments, so please bear with me!). |
Cool! Glad I could help. :)
Post back to this thread if you need anything, if I don't respond after a day or two, hit my profile and leave me a message. :D |
All times are GMT -5. The time now is 08:06 AM. |