首先, 你需要找到手机的BDADDR, 而且为了使用简便,你可在 /etc/bluetooth/hosts 文件中为其设置一个别名. 将手机设置成可识别模式,并用合适的控制器执行一个质询:
代码: 全选
% btconfig ubt0 inquiry
Device Discovery from device: ubt0 ..... 1 response
1: bdaddr 00:16:bc:00:e8:48 (unknown)
: name "Nokia 6103"
: class: [0x520204] Cellular Phone <Networking;gt; <Object Transfer;gt; <Telephony;gt;
: page scan rep mode 0x01
: page scan period mode 0x02
: page scan mode 0x00
: clock offset 10131
# echo "00:16:bc:00:e8:48 phone" >>/etc/bluetooth/hosts
现在, 你可以质询这部手机已确认其支持免提模式:
代码: 全选
% sdpquery -d ubt0 -a phone search HF
Record Handle: 0x00010003
Service Class ID List:
Handsfree Audio Gateway (0x111f)
Generic Audio (0x1203)
Protocol Descriptor List:
L2CAP (0x0100)
RFCOMM (0x0003)
Protocol specific parameter #1: u/int8/bool 13
Bluetooth Profile Descriptor List:
Handsfree (0x111e) ver. 1.1
然后,你可以使用 bthfp 程序去访问免提模式. 首次连接时, 你需要使用一个PIN去匹配这个手机, 这个PIN可使用 btpin(1)随机生成:
代码: 全选
% btpin -d ubt0 -a phone -r -l 6
PIN: 349163
% bthfp -d ubt0 -a phone -v
< ENTER PIN ON PHONE NOW >
Handsfree channel: 13
Press ? for commands
Connecting.. ok
< AT+BRSF=20
> +BRSF: 47
Features: [0x002f] <3 way calling> <EC/NR> <Voice Recognition> <In-band ringtone> <reject ability>
> OK
< AT+CIND=?
> +CIND: ("call",(0,1)),("service",(0,1)),("call_setup",(0-3)),("callsetup",(0-3))
> OK
< AT+CIND?
> +CIND: 0,1,0,0
> OK
< AT+CMER=3,0,0,1
> OK
< AT+CLIP=1
> OK
Service Level established
当电话铃响时, 只需按下 a 来应答, 而声音会通过/dev/audio设备路由。注意如果要与对方通话你需要一个连接好的麦克风。