LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Software (https://www.linuxquestions.org/questions/linux-software-2/)
-   -   Using computer as headset for cellphone via bluetooth (https://www.linuxquestions.org/questions/linux-software-2/using-computer-as-headset-for-cellphone-via-bluetooth-4175485597/)

kotterr 11-23-2013 12:01 AM

Using computer as headset for cellphone via bluetooth
 
I want to use my computer as a "headset" for my cellphone, allowing me to make phone calls using the microphone and headphones connected to the computer and the cellular signal connection of my cellphone. The cellphone obviously has bluetooth and I have a bluetooth USB adapter for the computer. I thought HFP would be a good tool for this. I installed all (I think) required software packages to make it compatible and go through ./configure. When I type make, I get this error:

Code:

make  all-recursive
make[1]: Entering directory `/home/mister/trunk'
Making all in libhfp
make[2]: Entering directory `/home/mister/trunk/libhfp'
g++ -DHAVE_CONFIG_H -I. -I.. -I../include -include config.h  -Wshadow -fno-exceptions -g  -Wall -MT bt.o -MD -MP -MF .deps/bt.Tpo -c -o bt.o bt.cpp
In file included from bt.cpp:48:0:
../include/libhfp/bt.h: In member function ‘void libhfp::BtDevice::DisconnectAll()’:
../include/libhfp/bt.h:1081:50: warning: converting ‘false’ to pointer type for argument 1 of ‘void libhfp::BtDevice::__DisconnectAll(libhfp::ErrorInfo*)’ [-Wconversion-null]
bt.cpp: In static member function ‘static int libhfp::SdpAsyncTaskHandler::SdpLookupChannel(libhfp::SdpTaskParams&)’:
bt.cpp:81:20: error: taking address of temporary [-fpermissive]
bt.cpp: In member function ‘bool libhfp::BtHub::Start(libhfp::ErrorInfo*)’:
bt.cpp:1226:22: error: taking address of temporary [-fpermissive]
bt.cpp:1226:34: error: taking address of temporary [-fpermissive]
In file included from ../include/libhfp/bt.h:31:0,
  from bt.cpp:48:
../include/libhfp/events.h: In instantiation of ‘void libhfp::Callback<void, TA1>::operator()(TA1) [with TA1 = libhfp::SdpTask*]’:
bt.cpp:219:25:  required from here
../include/libhfp/events.h:816:4: error: ‘Invoke’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
../include/libhfp/events.h:816:4: note: declarations in dependent base ‘libhfp::CallbackAdapter<void, libhfp::ArgSet<libhfp::SdpTask*, libhfp::Nil, libhfp::Nil, libhfp::Nil, libhfp::Nil, libhfp::Nil> >’ are not found by unqualified lookup
../include/libhfp/events.h:816:4: note: use ‘this->Invoke’ instead
../include/libhfp/events.h: In instantiation of ‘void libhfp::Callback<void, TA1, TA2>::Register(TargT*, void (TargT::*)(TA1, TA2)) [with TargT = libhfp::SdpAsyncTaskHandler; TA1 = libhfp::SocketNotifier*; TA2 = int]’:
bt.cpp:349:27:  required from here
../include/libhfp/events.h:853:3: error: ‘RegisterDirect’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
../include/libhfp/events.h:853:3: note: declarations in dependent base ‘libhfp::CallbackAdapter<void, libhfp::ArgSet<libhfp::SocketNotifier*, int, libhfp::Nil, libhfp::Nil, libhfp::Nil, libhfp::Nil> >’ are not found by unqualified lookup
../include/libhfp/events.h:853:3: note: use ‘this->RegisterDirect’ instead
../include/libhfp/events.h: In instantiation of ‘void libhfp::Callback<void, TA1>::operator()(TA1) [with TA1 = libhfp::HciTask*]’:
bt.cpp:687:25:  required from here
../include/libhfp/events.h:816:4: error: ‘Invoke’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
../include/libhfp/events.h:816:4: note: declarations in dependent base ‘libhfp::CallbackAdapter<void, libhfp::ArgSet<libhfp::HciTask*, libhfp::Nil, libhfp::Nil, libhfp::Nil, libhfp::Nil, libhfp::Nil> >’ are not found by unqualified lookup
../include/libhfp/events.h:816:4: note: use ‘this->Invoke’ instead
../include/libhfp/events.h: In instantiation of ‘void libhfp::Callback<void, TA1>::Register(TargT*, void (TargT::*)(TA1)) [with TargT = libhfp::BtHci; TA1 = libhfp::TimerNotifier*]’:
bt.cpp:894:48:  required from here
../include/libhfp/events.h:810:3: error: ‘RegisterDirect’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
../include/libhfp/events.h:810:3: note: declarations in dependent base ‘libhfp::CallbackAdapter<void, libhfp::ArgSet<libhfp::TimerNotifier*, libhfp::Nil, libhfp::Nil, libhfp::Nil, libhfp::Nil, libhfp::Nil> >’ are not found by unqualified lookup
../include/libhfp/events.h:810:3: note: use ‘this->RegisterDirect’ instead
../include/libhfp/events.h: In instantiation of ‘void libhfp::Callback<void, TA1, TA2>::Register(TargT*, void (TargT::*)(TA1, TA2)) [with TargT = libhfp::BtHci; TA1 = libhfp::SocketNotifier*; TA2 = int]’:
bt.cpp:895:51:  required from here
../include/libhfp/events.h:853:3: error: ‘RegisterDirect’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
../include/libhfp/events.h:853:3: note: declarations in dependent base ‘libhfp::CallbackAdapter<void, libhfp::ArgSet<libhfp::SocketNotifier*, int, libhfp::Nil, libhfp::Nil, libhfp::Nil, libhfp::Nil> >’ are not found by unqualified lookup
../include/libhfp/events.h:853:3: note: use ‘this->RegisterDirect’ instead
../include/libhfp/events.h: In instantiation of ‘void libhfp::Callback<void, TA1>::Register(TargT*, void (TargT::*)(TA1)) [with TargT = libhfp::BtHub; TA1 = libhfp::TimerNotifier*]’:
bt.cpp:1142:41:  required from here
../include/libhfp/events.h:810:3: error: ‘RegisterDirect’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
../include/libhfp/events.h:810:3: note: declarations in dependent base ‘libhfp::CallbackAdapter<void, libhfp::ArgSet<libhfp::TimerNotifier*, libhfp::Nil, libhfp::Nil, libhfp::Nil, libhfp::Nil, libhfp::Nil> >’ are not found by unqualified lookup
../include/libhfp/events.h:810:3: note: use ‘this->RegisterDirect’ instead
../include/libhfp/events.h: In instantiation of ‘void libhfp::Callback<void, TA1, TA2>::Register(TargT*, void (TargT::*)(TA1, TA2)) [with TargT = libhfp::BtHub; TA1 = libhfp::SocketNotifier*; TA2 = int]’:
bt.cpp:1254:53:  required from here
../include/libhfp/events.h:853:3: error: ‘RegisterDirect’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
../include/libhfp/events.h:853:3: note: declarations in dependent base ‘libhfp::CallbackAdapter<void, libhfp::ArgSet<libhfp::SocketNotifier*, int, libhfp::Nil, libhfp::Nil, libhfp::Nil, libhfp::Nil> >’ are not found by unqualified lookup
../include/libhfp/events.h:853:3: note: use ‘this->RegisterDirect’ instead
../include/libhfp/events.h: In instantiation of ‘void libhfp::Callback<void, TA1>::operator()(TA1) [with TA1 = libhfp::ErrorInfo*]’:
bt.cpp:1415:30:  required from here
../include/libhfp/events.h:816:4: error: ‘Invoke’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
../include/libhfp/events.h:816:4: note: declarations in dependent base ‘libhfp::CallbackAdapter<void, libhfp::ArgSet<libhfp::ErrorInfo*, libhfp::Nil, libhfp::Nil, libhfp::Nil, libhfp::Nil, libhfp::Nil> >’ are not found by unqualified lookup
../include/libhfp/events.h:816:4: note: use ‘this->Invoke’ instead
../include/libhfp/events.h: In instantiation of ‘void libhfp::Callback<void, TA1, TA2>::operator()(TA1, TA2) [with TA1 = libhfp::BtDevice*; TA2 = libhfp::ErrorInfo*]’:
bt.cpp:1447:27:  required from here
../include/libhfp/events.h:859:4: error: ‘Invoke’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
../include/libhfp/events.h:859:4: note: declarations in dependent base ‘libhfp::CallbackAdapter<void, libhfp::ArgSet<libhfp::BtDevice*, libhfp::ErrorInfo*, libhfp::Nil, libhfp::Nil, libhfp::Nil, libhfp::Nil> >’ are not found by unqualified lookup
../include/libhfp/events.h:859:4: note: use ‘this->Invoke’ instead
../include/libhfp/events.h: In instantiation of ‘void libhfp::Callback<void, TA1>::Register(TargT*, void (TargT::*)(TA1)) [with TargT = libhfp::BtHub; TA1 = libhfp::HciTask*]’:
bt.cpp:1506:58:  required from here
../include/libhfp/events.h:810:3: error: ‘RegisterDirect’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
../include/libhfp/events.h:810:3: note: declarations in dependent base ‘libhfp::CallbackAdapter<void, libhfp::ArgSet<libhfp::HciTask*, libhfp::Nil, libhfp::Nil, libhfp::Nil, libhfp::Nil, libhfp::Nil> >’ are not found by unqualified lookup
../include/libhfp/events.h:810:3: note: use ‘this->RegisterDirect’ instead
../include/libhfp/events.h: In instantiation of ‘void libhfp::Callback<void, TA1>::operator()(TA1) [with TA1 = libhfp::BtManaged*]’:
bt.cpp:1705:31:  required from here
../include/libhfp/events.h:816:4: error: ‘Invoke’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
../include/libhfp/events.h:816:4: note: declarations in dependent base ‘libhfp::CallbackAdapter<void, libhfp::ArgSet<libhfp::BtManaged*, libhfp::Nil, libhfp::Nil, libhfp::Nil, libhfp::Nil, libhfp::Nil> >’ are not found by unqualified lookup
../include/libhfp/events.h:816:4: note: use ‘this->Invoke’ instead
../include/libhfp/events.h: In instantiation of ‘void libhfp::Callback<void, TA1>::Register(TargT*, void (TargT::*)(TA1)) [with TargT = libhfp::BtDevice; TA1 = libhfp::HciTask*]’:
bt.cpp:1784:65:  required from here
../include/libhfp/events.h:810:3: error: ‘RegisterDirect’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
../include/libhfp/events.h:810:3: note: declarations in dependent base ‘libhfp::CallbackAdapter<void, libhfp::ArgSet<libhfp::HciTask*, libhfp::Nil, libhfp::Nil, libhfp::Nil, libhfp::Nil, libhfp::Nil> >’ are not found by unqualified lookup
../include/libhfp/events.h:810:3: note: use ‘this->RegisterDirect’ instead
../include/libhfp/events.h: In instantiation of ‘void libhfp::Callback<void, TA1, TA2, TA3>::operator()(TA1, TA2, TA3) [with TA1 = libhfp::BtDevice*; TA2 = const char*; TA3 = libhfp::ErrorInfo*]’:
bt.cpp:1813:48:  required from here
../include/libhfp/events.h:903:4: error: ‘Invoke’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
../include/libhfp/events.h:903:4: note: declarations in dependent base ‘libhfp::CallbackAdapter<void, libhfp::ArgSet<libhfp::BtDevice*, const char*, libhfp::ErrorInfo*, libhfp::Nil, libhfp::Nil, libhfp::Nil> >’ are not found by unqualified lookup
../include/libhfp/events.h:903:4: note: use ‘this->Invoke’ instead
make[2]: *** [bt.o] Error 1
make[2]: Leaving directory `/home/mister/trunk/libhfp'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/mister/trunk'
make: *** [all] Error 2

How do I install this program? Failing that, what is a working alternative?

I use Linux Mint on an IBM T60.

aus9 11-23-2013 02:50 AM

working alternatives are what we call voip softphones software as per
http://www.linuxlinks.com/article/20...5240/VoIP.html

You can also ditch the computer entirely and have a voip enabled router
--I have got one, but you "should" search for popular ones in your country but mine is tp-link TD-VG3631
----don't buy it without sending me a reply cos its got a firmware issue at the moment

Another alternative is ditch the softphone and buy an ATA device
---this allows your old plain telephone to plug into it, but you use a voip account

speaking of voip accounts, I don't skype I use http://www.faktortel.com.au/index.php but they do have a world wide presence.

m33600 11-23-2013 02:40 PM

I found the solution here:
http://askubuntu.com/questions/2573/...-a2dp-receiver

I actually didn't follow the long, highest rated answer. I just followed this suggestion from that page:
I use blueman, installed from Ubuntu software center. Right-clicking on the blueman icon*-> "local services" -> audio-> Check "advanced audio reception" is tipped. Btw I use it to listen in my Ubuntu 11.10 laptop what I play on my android phone.

In summary, I installed blueman and then enabled "Advanced audio recemption". the blueman icon didn't show up until after I ran it manually once. The change persists between reboots. Now my HTPC automatically boots to XBMC. Even with the TV off I am able to connect my phone to the PC and play music through my stereo.

kotterr 11-24-2013 01:32 AM

The underlying purpose of this is to be able to make recordable calls the internet, a land line (phone line), and a cellular phone.

The first struggle was getting a stream to record. Under normal circumstances, programs like Audacity will not record 2 streams at once (Mic in and Speaker out). It can only record one. This is easy enough to fix by routing the speakers and microphone to a virtual "line" and then recording that virtual "line."

Internet calls: solved. Can be made using google voice.

I'm working on making phones from a land line and from a cellphone. I'm just wondering if perhaps there is an easier way to make cellular calls through the PC without using bluetooth.

The cellphone has compatible wired headsets.

http://www.amazon.com/Intensity-SCH-.../dp/B008CC2A2Y

They appear to work by sending Microphone in and receiving audio out. Perhaps it's easier and more reliable to just put a 3.5mm splitter at each wire and connect one each to the headset and one each to the computer (recorder).


All times are GMT -5. The time now is 01:30 AM.