summaryrefslogtreecommitdiffstats
path: root/drivers/hfpmodem
AgeCommit message (Collapse)AuthorFilesLines
2014-06-21hfpmodem: Split AT+VTS command into multiple +VTSSergio Checa Blanco1-3/+8
According to the standard "3GPP 27.007 v6.8.0" Appendix C.2.11, when sending multiple DTMF characters, these must go in individual +VTS commands for each tone. This adopts the AT modem approach. Before: AT+VTS=1234\r After: AT+VTS=1;+VTS=2;+VTS=3;+VTS=4\r
2014-05-30hfp: Fix case where RING never arrivesDenis Kenzior1-1/+28
2014-04-10handsfree: Rename driver functionDenis Kenzior1-3/+3
To be more consistent with others in the same file
2014-04-10handsfree: Simplify logicDenis Kenzior1-18/+12
2014-04-10hfp: Add CNUM query to handsfree interface for subscriber numberAndrew Earl1-0/+88
2014-03-19hfp: Use enum from hfp.hDenis Kenzior3-23/+16
2014-03-19hfp: Fixup variable namesDenis Kenzior1-3/+3
2014-03-19hfp: Add CHLD features to drver dataKrzysztof Wilk1-0/+3
2013-12-21git: Fixup messed up permissionsDenis Kenzior3-0/+0
2013-12-18siri: Add atom driverKrzysztof Wilk3-0/+219
2013-12-05hfp: Add Voice Recognition flag to BRSFAndrew Earl1-0/+1
2013-09-12hfpmodem: Call ofono_voicecall_mpty_hint as neededDenis Kenzior1-2/+7
2013-08-25hfp: Set UDUB affected set to WAITING onlyDenis Kenzior1-2/+1
INCOMING calls are not affected by UDUB, only by +CHUP.
2013-08-25hfp: Fix up disconnect reason handling for +CHUPDenis Kenzior1-1/+6
The affected call types for +CHUP were set to only ACTIVE calls. Instead the affected set should include INCOMING, DIALING, ALERTING and ACTIVE calls. Thanks to Ionut Dediu for the diagnosing and reporting this issue.
2013-06-26hfpmodem: Fix ECNR HF featureFrederic Danis1-1/+2
2013-04-23hfpmodem: Add EchoCancelingNoiseReductionClaudio Takahasi1-0/+17
This patch adds echo canceling and noise reduction implementation to hfpmodem. It adds the implementation to send the command "AT+NREC=0" to the AG.
2013-04-18hfp: Move HFP versions definitions to hfp.hPaulo Borges1-6/+0
hfp.h should store all HFP related definitions.
2013-04-09hfpmodem: Send AT+BAC with the supported codecsVinicius Costa Gomes1-1/+11
Before, the AT+BAC command was being sent with fixed information, now we send the command (that inform the AG of the codecs supported by the HF) with the codecs supported by the registered Handsfree Audio Agent.
2013-04-09drivers: Include hfp.hDenis Kenzior2-0/+2
2013-02-21hfpmodem: Fix segfault in CIEV GAtChat callbackClaudio Takahasi1-3/+3
This patch fixes segmentation fault when the network registration watch is called without being initialized. CIEV GAtChat callback can be called before ofono_netreg_register(). ==15101== Invalid read of size 8 ==15101== at 0x492B56: ofono_netreg_register (network.c:2073) ==15101== by 0x47245E: hfp_netreg_probe (network-registration.c:311) ==15101== by 0x492A8D: ofono_netreg_create (network.c:1881) ==15101== by 0x4849D5: hfp_pre_sim (hfp_hf_bluez5.c:288) ==15101== by 0x48C486: ofono_modem_set_powered (modem.c:1194) ==15101== by 0x484E9D: slc_established (hfp_hf_bluez5.c:85) ==15101== by 0x4702AD: chld_cb (slc.c:147) ==15101== by 0x440457: at_chat_finish_command (gatchat.c:461) ==15101== by 0x44109F: new_bytes (gatchat.c:532) ==15101== by 0x4433B7: received_data (gatio.c:122) ==15101== by 0x3CBAA47824: g_main_context_dispatch (gmain.c:2539) ==15101== by 0x3CBAA47B57: g_main_context_iterate.isra.23 (gmain.c:3146) ==15101== Address 0x18 is not stack'd, malloc'd or (recently) free'd
2013-01-21hfpmodem: Add comment for previous commitDenis Kenzior1-0/+5
2013-01-21hfpmodem: Fix release-and-swap without +CIEVMikel Astiz1-1/+45
Some phones do not send the corresponding call state update (+CIEV) after a successful release-and-swap operation (AT+CHLD=1). This has been observed with a Nokia 500, while testing ReleaseAndSwap() while an active and a held call exist: ofonod[20414]: > AT+CLCC\r ofonod[20414]: < \r\n+CLCC: 1,0,1,0,0,"<number1>",145\r\n ofonod[20414]: < \r\n+CLCC: 2,0,0,0,0,"<number2>",145\r\n ofonod[20414]: < \r\nOK\r\n ofonod[20414]: > AT+CHLD=1\r ofonod[20414]: < \r\nOK\r\n After this, no +CIEV is received, but the call has been hung up. The proposed approach to solve this consists of using AT+CLCC, unless a call release has been received within a specific time period. The result fixes the problem as can be seen below: ofonod[20847]: < \r\n+CLCC: 1,0,1,0,0,"<number1>",145\r\n ofonod[20847]: < \r\n+CLCC: 2,0,0,0,0,"<number2>",145\r\n ofonod[20847]: < \r\nOK\r\n ofonod[20847]: > AT+CHLD=1\r ofonod[20847]: < \r\nOK\r\n ofonod[20847]: > AT+CLCC\r ofonod[20847]: < \r\n+CLCC: 1,0,0,0,0,"<number1>",145\r\n ofonod[20847]: < \r\nOK\r\n ofonod[20847]: < \r\n+CIEV: 5,2\r\n ofonod[20847]: < \r\n+CIEV: 5,0\r\n
2013-01-21hfpmodem: Avoid transitional voicecall statesMikel Astiz1-2/+12
While processing the result of AT+CLCC, process the differences in a way that disconnections are reported first, then call state changes and finally new calls. The goal is to avoid unnecessary transitional states such as two active calls existing at the same time.
2013-01-21hfpmodem: Refactor voicecall notify with foreachMikel Astiz1-3/+9
Define a helper function in order to use foreach statements when ofono_voicecall_notify() needs to be called.
2013-01-17hfpmodem: Add support for sending the supported codecsVinicius Costa Gomes1-0/+29
Right now, only the mandatory CVSD codec is supported. The mSBC mandatory codec is "temporarily" not supported. The spec alows this, HFP 1.6 Spec Section 4.34.1 page 92: "If wide band speech is supported then the mandatory codec (mSBC) shall be included unless it is temporarily unavailable."
2013-01-17hfpmodem: Add version defines for HFP 1.6Vinicius Costa Gomes1-1/+2
2012-12-17hfp: use ofono_handsfree_battchg_notifyDenis Kenzior1-0/+31
2012-04-11hfpmodem: use full CLCC handling in dialing caseMichael Brudevold1-67/+1
A call that moves from the dialing to active state before the +CLCC response will not properly be added as a voicecall. This is because the dialing callback was using simplified handling and only looked for calls in the dialing or alerting state. AT sequence that exhibited the failure (AG device was an iPhone accessing visual voicemail): > +CIND: ("service",(0-1)),("call",(0-1)),("callsetup",(0-3)), ("battchg",(0-5)),("signal",(0-5)),("roam",(0-1)),("callheld",(0-2)) ... > +CIEV: 3,2 < AT+CLCC > +CIEV: 2,1 > +CIEV: 3,0 > +CLCC: 1,0,0,0,0,"**21153**",129,"Voicemail"
2011-10-21hfpmodem: Report features supported by AGMikel Astiz1-0/+1
2011-10-21hfpmodem: devinfo atom added to export BT addressMikel Astiz3-0/+114
2011-10-21hfpmodem: Avoid segfault in handsfreeMikel Astiz1-1/+7
The use of g_idle_add can cause a segmentation fault if the object is destroyed in the meantime.
2011-10-21hfpmodem: Avoid segfault in call-volumeMikel Astiz1-1/+7
The use of g_idle_add can cause a segmentation fault if the object is destroyed in the meantime.
2011-10-21hfpmodem: Avoid segfault in network-registrationMikel Astiz1-1/+8
The use of g_idle_add can cause a segmentation fault if the object is destroyed in the meantime.
2011-10-21hfpmodem: Support for AT+BVRAMikel Astiz1-0/+53
2011-10-20hfpmodem: minor whitespace fixMikel Astiz1-1/+0
2011-10-20hfpmodem: Support for +BSIR unsolicited responsesMikel Astiz1-0/+19
2011-10-15drivers: Some more copyright fixesMarcel Holtmann1-1/+1
2011-10-13handsfree: Pass the error information to the coreDenis Kenzior1-5/+9
if available. This is the preferred way, so that the core can take into account the error information in the future if required.
2011-10-13hfpmodem: Support of number requests (AT+BINP=1)Mikel Astiz1-0/+59
2011-10-13handsfree: Set in-band ringing before registeringDenis Kenzior1-2/+2
Avoid an extra signal emission
2011-10-13hfpmodem: Set initial state for inband ringingMikel Astiz1-0/+6
According to the HFP specification, inband ringing will be enabled by default if the AG supports it. This setting could later be changed by the unsolicited result code +BSIR.
2011-10-13hfpmodem: Copyright statement correctionMikel Astiz1-0/+1
2011-10-10drivers: Update copyright informationMarcel Holtmann6-7/+7
2011-09-09call-volume: Use g_idle_add to registerDenis Kenzior1-4/+6
2011-09-09hfpmodem: Add skeleton driver implemenetationMikel Astiz3-0/+103
2011-08-08hfpmodem: Use an enumDenis Kenzior1-2/+4
2011-08-08hfpmodem: fix hf featuresFrédéric Danis2-2/+10
check audio gateway version and only set right features
2011-08-05hfpmodem: Fix g_at_chat leakFrédéric Dalleau3-0/+3
2011-07-25hfpmodem: fix network statusFrédéric Danis1-3/+7
When receiving roaming indicator update to 0 (no roaming) network registration status should be updated with latest value of service indicator.
2011-07-25hfpmodem: fix callheld indicatorFrédéric Danis1-1/+15
Callheld move from 1 (active and held calls) to 2 (all calls on hold) may result of: - active call has been dropped by remote, - an intermediate state during a call swap which will be followed by a move back to 1. So, wait a little before checking calls state.