PB_PULL phonebook index mapping on AA32xx firmware with iPhone
Hardware / Firmware
Configuration
SET PROFILES=ON 1 0 1 0 1 0 1 1 1
SET PROFILES2=1 0
SET HFP_CONFIG=ON ON OFF ON 5 ON OFF ON OFF
SET AUDIO_DIGITAL=0 48000 64 00100100 00000000
Use case HFP + PBAP client connecting to an iPhone. We want to download separately:
pb)ich)och)mch)Documented behavior (manual page 63)
PB_PULL [] [] [] [] []
phonebook:
0 = Main phonebook folder (default)
1 = Incoming call history
2 = Outgoing call history
3 = Missed calls history
4 = Combined call history
Observed behavior with iPhone We send PB_PULL 1C 1 30 0 85. Indices return data as follows (verified by inspecting X-IRMC-CALL-DATETIME markers in the returned vCards):
| N | Documented | Observed (iPhone) |
|---|---|---|
| 0 | pb (Main folder) | Main phonebook contacts (alphabetical) |
| 1 | ich | Same as N=0 (Main phonebook) |
| 2 | och | Empty (just OK, no vCards) |
| 3 | mch | vCards with ;DIALED: markers (= och content) |
| 4 | cch | vCards with mixed ;MISSED: and ;RECEIVED: markers |
| 5 | – | Empty |
Issues
phonebook=1 (documented as ich) returns the main phonebook, and phonebook=3 (documented as mch) returns DIALED (och).phonebook=2 (documented as och) and phonebook=5 return no data at all.Questions
ich) from an iPhone? Or is the iPhone PBAP server expected to expose only pb + och + cch (with combined RECEIVED/MISSED)?Secondary observation – HFP phone-initiated calls When the user initiates an outgoing call on the iPhone (rather than via the UART CALL OUTGOING command), the module emits only:
+CIEV: 3,2 (callsetup=outgoing-dialing)
+BCS:2 (codec selection)
+CIEV: 3,3 (callsetup=alerting)
+CIEV: 3,0 (callsetup=ended) or +CIEV: 2,1 (call=active)
No CALL_OUTGOING, CALL_ACTIVE, or SCO_OPEN notifications are emitted. We had to add HFP +CIEV: 2/3 parsing to detect phone-initiated calls and switch our audio routing accordingly. Is this expected behavior, or is there a configuration to also receive CALL_*/SCO_* notifications for phone-initiated calls?
Sample log – PB_PULL behavior with iPhone
Setup: HFP connected to iPhone (link_id 13), PBAP just opened (link_id 1C). Lines marked [host TX] are commands sent to the module, [mod RX] are responses/notifications received.
# Open PBAP profile
[host TX] OPEN FC315D2AE358 PBAP
[mod RX] OPEN_OK 1C PBAP FC315D2AE358
# Test 1: Request phonebook index 3 (manual: missed calls history)
[host TX] PB_PULL 1C 1 3 30 0 85
[mod RX] PENDING
[mod RX] PB_PULL 1C 198 BEGIN:VCARD
[mod RX] VERSION:3.0
[mod RX] FN:
[mod RX] N:
[mod RX] TEL:0
[mod RX] X-IRMC-CALL-DATETIME;DIALED:20260430T113019 <-- DIALED, not MISSED
[mod RX] END:VCARD
[mod RX] BEGIN:VCARD
[mod RX] VERSION:3.0
[mod RX] FN:Weckwerth Claudia
[mod RX] N:Weckwerth;Claudia
[mod RX] TEL;TYPE=CELL:+491718300956
[mod RX] X-IRMC-CALL-DATETIME;DIALED:20260430T121751 <-- DIALED again
[mod RX] END:VCARD
... (28 more entries, ALL with ;DIALED: marker, none MISSED) ...
[mod RX] OK
# Test 2: Request phonebook index 4 (manual: combined call history)
[host TX] PB_PULL 1C 1 4 30 0 85
[mod RX] PENDING
[mod RX] PB_PULL 1C 308 BEGIN:VCARD
[mod RX] VERSION:3.0
[mod RX] FN:Weckwerth Claudia
[mod RX] N:Weckwerth;Claudia
[mod RX] TEL;TYPE=CELL:+491718300956
[mod RX] X-IRMC-CALL-DATETIME;MISSED:20260427T115225 <-- MISSED
[mod RX] END:VCARD
[mod RX] BEGIN:VCARD
... (multiple MISSED entries) ...
[mod RX] FN:Melle Felix
[mod RX] N:Melle;Felix
[mod RX] TEL;TYPE=CELL:+4917637894433
[mod RX] X-IRMC-CALL-DATETIME;RECEIVED:20260327T133316 <-- RECEIVED, mixed in
[mod RX] END:VCARD
[mod RX] BEGIN:VCARD
... more MISSED entries ...
[mod RX] FN:Weckwerth Alessandro
[mod RX] N:Weckwerth;Alessandro
[mod RX] TEL;TYPE=CELL:+4917680002945
[mod RX] X-IRMC-CALL-DATETIME;RECEIVED:20260320T180555 <-- RECEIVED again
[mod RX] END:VCARD
... more MISSED entries ...
[mod RX] OK
# Test 3: Request phonebook index 1 (manual: incoming call history)
[host TX] PB_PULL 1C 1 1 30 0 85
[mod RX] PENDING
[mod RX] PB_PULL 1C 457 BEGIN:VCARD
[mod RX] VERSION:3.0
[mod RX] FN:Meine Nummer
[mod RX] N:Meine Nummer
[mod RX] TEL;TYPE=CELL:+491715420202
[mod RX] END:VCARD
[mod RX] BEGIN:VCARD
[mod RX] VERSION:3.0
[mod RX] FN:Adelakoun Abdel Madjid <-- main phonebook entries
[mod RX] N:Adelakoun;Abdel Madjid
[mod RX] TEL;TYPE=WORK:+229 (97) 579495
[mod RX] ADR;TYPE=WORK:;Boulevard Saint Michel;...
[mod RX] EMAIL;TYPE=INTERNET:madelakoun@anm.bj
[mod RX] END:VCARD
... (alphabetically sorted main phonebook contacts, NO X-IRMC-CALL-DATETIME) ...
[mod RX] OK
# Test 4: Request phonebook index 2 (manual: outgoing call history)
[host TX] PB_PULL 1C 1 2 30 0 85
[mod RX] PENDING
[mod RX] OK <-- no vCards returned
# Close PBAP
[host TX] CLOSE 1C
[mod RX] CLOSE_OK 1C PBAP FC315D2AE358
Summary table (this session)
| Index sent | vCards returned | Content type |
|---|---|---|
| 1 (doc: ich) | ~30 | Main phonebook (no X-IRMC-CALL-DATETIME) |
| 2 (doc: och) | 0 | empty |
| 3 (doc: mch) | ~30 | All ;DIALED: (= och content) |
| 4 (doc: cch) | ~22 | Mixed ;MISSED: and ;RECEIVED: |
| 5 | 0 | empty |
Pure ;RECEIVED:-only stream is not reachable via any tested index — RECEIVED entries only appear interleaved with MISSED at index 4.
Hi Guido,
There is a typo in the document t. It should be like the below:
: (Phonebook entry)
Any other value will return the Main phonebook folder.
Also, we do receive inputs on the iPhone for all values. We use the commadn pb_pull 1c 1 2 20 0 85 (We saw that you forgot one parameter in your text PB_PULL 1C 1 30 0 85 but it was maybe a typo). Please note that yo uhave to allow to Synch Contacts on the iPhone, Otherwise, it returns nothing. See picture below. Also, we gave some UART examples below.
IOT747 Support
pb_pull 1c 1 1 1 0 85
PENDING
PB_PULL 1C 93 BEGIN:VCARD
VERSION:3.0
FN:My Number
N:My Number
TEL;TYPE=CELL:+447966144719
END:VCARD
OK
pb_pull 1c 1 2 1 0 85
PENDING
PB_PULL 1C 133 BEGIN:VCARD
VERSION:3.0
FN:Af
N:;Af
TEL;TYPE=CELL:+44 7709 029906
X-IRMC-CALL-DATETIME;RECEIVED:20260504T153612
END:VCARD
OK
pb_pull 1c 1 3 1 0 85
PENDING
PB_PULL 1C 131 BEGIN:VCARD
VERSION:3.0
FN:Af
N:;Af
TEL;TYPE=CELL:+44 7709 029906
X-IRMC-CALL-DATETIME;DIALED:20260505T084253
END:VCARD
OK
pb_pull 1c 1 4 1 0 85
PENDING
PB_PULL 1C 129 BEGIN:VCARD
VERSION:3.0
FN:Af
N:;Af
TEL;TYPE=CELL:+447709029906
X-IRMC-CALL-DATETIME;MISSED:20260503T195822
END:VCARD
OK
pb_pull 1c 1 5 1 0 85
PENDING
PB_PULL 1C 131 BEGIN:VCARD
VERSION:3.0
FN:Af
N:;Af
TEL;TYPE=CELL:+44 7709 029906
X-IRMC-CALL-DATETIME;DIALED:20260505T084253
END:VCARD
OK
You must be logged in to reply to this topic.