Forum Index » Compatibility » Jabra Evolve 80 UC with Innovaphone Softphone   XML
 
Author Message
Christian


Joined: 17/04/2018 04:27:59
Messages: 0
Offline

Hi!

Just bought a Evolve 80 UC and are trying to get busy light to light up when in call with innovaphone Softphone.
I can answer calls on USB remote, and use volume buttons but busy light never lights up, i need to turn that on manually.

I found the innovaphone hid file and can see some Jabra headset in there but can figure out what to enter for the evolve 80..

<pre><code># innovaphone softphone mapping codes
#
# 0x30 - 0x39 : 0 - 9
# 0x93 : offhook
# 0x94 : onhook
# 0x20 : speaker (toggle)
# 0x90 : flash
# 0x2a : *
# 0x23 : #
# 0x8e : key disconnect
# 0x91 : redial
# 0x86 : up (volume)
# 0x89 : down (volume)
# 0x8f : micro
# 0x98 : speaker vol +
# 0x99 : speaker vol -
# 0x9a : speaker vol rel
#
# 0xf1 : start ring
# 0xf0 : stop ring
# 0xf3 : start ring ack
# 0xf2 : stop ring ack
# 0xf4 : start ring once
# 0xf5 : offhook response
# 0xf6 : onhook response

# innovaphone softphone usb telephone mappings
#

[innovaphone IP 10 (I)]
# Handset for Voip (Couple) (ZMM)
# 28.05.2002: when recording, byte #9 is 0x00, otherwise 0x01, so include both mappings
id = 0x19943040
len = 0x09
map = 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01: 0x00 # key up
map = 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00: 0x00 # key up
map = 0x00, 0x00, 0x20, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01: 0x31 # 1
map = 0x00, 0x00, 0x20, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00: 0x31 # 1
map = 0x00, 0x00, 0x20, 0x02, 0x00, 0x00, 0x00, 0x00, 0x01: 0x32 # 2
map = 0x00, 0x00, 0x20, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00: 0x32 # 2
map = 0x00, 0x00, 0x20, 0x03, 0x00, 0x00, 0x00, 0x00, 0x01: 0x33 # 3
map = 0x00, 0x00, 0x20, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00: 0x33 # 3
map = 0x00, 0x00, 0x20, 0x04, 0x00, 0x00, 0x00, 0x00, 0x01: 0x34 # 4
map = 0x00, 0x00, 0x20, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00: 0x34 # 4
map = 0x00, 0x00, 0x20, 0x05, 0x00, 0x00, 0x00, 0x00, 0x01: 0x35 # 5
map = 0x00, 0x00, 0x20, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00: 0x35 # 5
map = 0x00, 0x00, 0x20, 0x06, 0x00, 0x00, 0x00, 0x00, 0x01: 0x36 # 6
map = 0x00, 0x00, 0x20, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00: 0x36 # 6
map = 0x00, 0x00, 0x20, 0x07, 0x00, 0x00, 0x00, 0x00, 0x01: 0x37 # 7
map = 0x00, 0x00, 0x20, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00: 0x37 # 7
map = 0x00, 0x00, 0x20, 0x08, 0x00, 0x00, 0x00, 0x00, 0x01: 0x38 # 8
map = 0x00, 0x00, 0x20, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00: 0x38 # 8
map = 0x00, 0x00, 0x20, 0x09, 0x00, 0x00, 0x00, 0x00, 0x01: 0x39 # 9
map = 0x00, 0x00, 0x20, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00: 0x39 # 9
map = 0x00, 0x00, 0x20, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x01: 0x2a # *
map = 0x00, 0x00, 0x20, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00: 0x2a # *
map = 0x00, 0x00, 0x20, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x01: 0x30 # 0
map = 0x00, 0x00, 0x20, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00: 0x30 # 0
map = 0x00, 0x00, 0x20, 0x16, 0x00, 0x00, 0x00, 0x00, 0x01: 0x23 # #
map = 0x00, 0x00, 0x20, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00: 0x23 # #
map = 0x00, 0x00, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01: 0x93 # offhook
map = 0x00, 0x00, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00: 0x93 # offhook
map = 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01: 0x94 # onhook
map = 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00: 0x94 # onhook
map = 0x00, 0x00, 0x20, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x01: 0x90 # flash
map = 0x00, 0x00, 0x20, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00: 0x90 # flash
map = 0x00, 0x00, 0x20, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00: 0x91 # redial
map = 0x00, 0x00, 0x20, 0x19, 0x00, 0x00, 0x00, 0x00, 0x01: 0x91 # redial
map = 0x00, 0x00, 0x20, 0x15, 0x00, 0x00, 0x00, 0x00, 0x01: 0x8e # disconnect
map = 0x00, 0x00, 0x20, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00: 0x8e # disconnect

map = 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00: 0xf1 # ring on
map = 0x00, 0x00, 0x1a, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00: 0xf0 # ring off

map = 0x00, 0x00, 0x9a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00: 0xf3 # ring on ack
map = 0x00, 0x00, 0x9a, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00: 0xf2 # ring off ack

[innovaphone IP 10 (II)]
# Handset for Voip (Internet) (ZMM)
# 28.05.2002: when recording, byte #9 is 0x00, otherwise 0x01, so include both mappings
id = 0x19941040
len = 0x09
map = 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01: 0x00 # key up
map = 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00: 0x00 # key up
map = 0x00, 0x00, 0x20, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01: 0x31 # 1
map = 0x00, 0x00, 0x20, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00: 0x31 # 1
map = 0x00, 0x00, 0x20, 0x02, 0x00, 0x00, 0x00, 0x00, 0x01: 0x32 # 2
map = 0x00, 0x00, 0x20, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00: 0x32 # 2
map = 0x00, 0x00, 0x20, 0x03, 0x00, 0x00, 0x00, 0x00, 0x01: 0x33 # 3
map = 0x00, 0x00, 0x20, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00: 0x33 # 3
map = 0x00, 0x00, 0x20, 0x04, 0x00, 0x00, 0x00, 0x00, 0x01: 0x34 # 4
map = 0x00, 0x00, 0x20, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00: 0x34 # 4
map = 0x00, 0x00, 0x20, 0x05, 0x00, 0x00, 0x00, 0x00, 0x01: 0x35 # 5
map = 0x00, 0x00, 0x20, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00: 0x35 # 5
map = 0x00, 0x00, 0x20, 0x06, 0x00, 0x00, 0x00, 0x00, 0x01: 0x36 # 6
map = 0x00, 0x00, 0x20, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00: 0x36 # 6
map = 0x00, 0x00, 0x20, 0x07, 0x00, 0x00, 0x00, 0x00, 0x01: 0x37 # 7
map = 0x00, 0x00, 0x20, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00: 0x37 # 7
map = 0x00, 0x00, 0x20, 0x08, 0x00, 0x00, 0x00, 0x00, 0x01: 0x38 # 8
map = 0x00, 0x00, 0x20, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00: 0x38 # 8
map = 0x00, 0x00, 0x20, 0x09, 0x00, 0x00, 0x00, 0x00, 0x01: 0x39 # 9
map = 0x00, 0x00, 0x20, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00: 0x39 # 9
map = 0x00, 0x00, 0x20, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x01: 0x2a # *
map = 0x00, 0x00, 0x20, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00: 0x2a # *
map = 0x00, 0x00, 0x20, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x01: 0x30 # 0
map = 0x00, 0x00, 0x20, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00: 0x30 # 0
map = 0x00, 0x00, 0x20, 0x16, 0x00, 0x00, 0x00, 0x00, 0x01: 0x23 # #
map = 0x00, 0x00, 0x20, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00: 0x23 # #
map = 0x00, 0x00, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01: 0x93 # offhook
map = 0x00, 0x00, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00: 0x93 # offhook
map = 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01: 0x94 # onhook
map = 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00: 0x94 # onhook
map = 0x00, 0x00, 0x20, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x01: 0x90 # flash
map = 0x00, 0x00, 0x20, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00: 0x90 # flash
map = 0x00, 0x00, 0x20, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00: 0x91 # redial
map = 0x00, 0x00, 0x20, 0x19, 0x00, 0x00, 0x00, 0x00, 0x01: 0x91 # redial
map = 0x00, 0x00, 0x20, 0x15, 0x00, 0x00, 0x00, 0x00, 0x01: 0x8e # disconnect
map = 0x00, 0x00, 0x20, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00: 0x8e # disconnect

map = 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00: 0xf1 # ring on
map = 0x00, 0x00, 0x1a, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00: 0xf0 # ring off

map = 0x00, 0x00, 0x9a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00: 0xf3 # ring on ack
map = 0x00, 0x00, 0x9a, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00: 0xf2 # ring off ack

[Handset for Voip (Couple) (ZMM)]
# 28.05.2002: when recording, byte #9 is 0x00, otherwise 0x01, so include both mappings
id = 0x19943040
len = 0x09
map = 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01: 0x00 # key up
map = 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00: 0x00 # key up
map = 0x00, 0x00, 0x20, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01: 0x31 # 1
map = 0x00, 0x00, 0x20, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00: 0x31 # 1
map = 0x00, 0x00, 0x20, 0x02, 0x00, 0x00, 0x00, 0x00, 0x01: 0x32 # 2
map = 0x00, 0x00, 0x20, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00: 0x32 # 2
map = 0x00, 0x00, 0x20, 0x03, 0x00, 0x00, 0x00, 0x00, 0x01: 0x33 # 3
map = 0x00, 0x00, 0x20, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00: 0x33 # 3
map = 0x00, 0x00, 0x20, 0x04, 0x00, 0x00, 0x00, 0x00, 0x01: 0x34 # 4
map = 0x00, 0x00, 0x20, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00: 0x34 # 4
map = 0x00, 0x00, 0x20, 0x05, 0x00, 0x00, 0x00, 0x00, 0x01: 0x35 # 5
map = 0x00, 0x00, 0x20, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00: 0x35 # 5
map = 0x00, 0x00, 0x20, 0x06, 0x00, 0x00, 0x00, 0x00, 0x01: 0x36 # 6
map = 0x00, 0x00, 0x20, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00: 0x36 # 6
map = 0x00, 0x00, 0x20, 0x07, 0x00, 0x00, 0x00, 0x00, 0x01: 0x37 # 7
map = 0x00, 0x00, 0x20, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00: 0x37 # 7
map = 0x00, 0x00, 0x20, 0x08, 0x00, 0x00, 0x00, 0x00, 0x01: 0x38 # 8
map = 0x00, 0x00, 0x20, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00: 0x38 # 8
map = 0x00, 0x00, 0x20, 0x09, 0x00, 0x00, 0x00, 0x00, 0x01: 0x39 # 9
map = 0x00, 0x00, 0x20, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00: 0x39 # 9
map = 0x00, 0x00, 0x20, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x01: 0x2a # *
map = 0x00, 0x00, 0x20, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00: 0x2a # *
map = 0x00, 0x00, 0x20, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x01: 0x30 # 0
map = 0x00, 0x00, 0x20, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00: 0x30 # 0
map = 0x00, 0x00, 0x20, 0x16, 0x00, 0x00, 0x00, 0x00, 0x01: 0x23 # #
map = 0x00, 0x00, 0x20, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00: 0x23 # #
map = 0x00, 0x00, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01: 0x93 # offhook
map = 0x00, 0x00, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00: 0x93 # offhook
map = 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01: 0x94 # onhook
map = 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00: 0x94 # onhook
map = 0x00, 0x00, 0x20, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x01: 0x90 # flash
map = 0x00, 0x00, 0x20, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00: 0x90 # flash
map = 0x00, 0x00, 0x20, 0x15, 0x00, 0x00, 0x00, 0x00, 0x01: 0x91 # redial
map = 0x00, 0x00, 0x20, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00: 0x91 # redial

map = 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00: 0xf1 # ring on
map = 0x00, 0x00, 0x1a, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00: 0xf0 # ring off

map = 0x00, 0x00, 0x9a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00: 0xf3 # ring on ack
map = 0x00, 0x00, 0x9a, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00: 0xf2 # ring off ack

[Handset for Voip (Internet) (ZMM)]
# 13.11.2002: a copy for VisionPhone Internet (USB+POTS)
id = 0x19941040
len = 0x09
map = 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01: 0x00 # key up
map = 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00: 0x00 # key up
map = 0x00, 0x00, 0x20, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01: 0x31 # 1
map = 0x00, 0x00, 0x20, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00: 0x31 # 1
map = 0x00, 0x00, 0x20, 0x02, 0x00, 0x00, 0x00, 0x00, 0x01: 0x32 # 2
map = 0x00, 0x00, 0x20, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00: 0x32 # 2
map = 0x00, 0x00, 0x20, 0x03, 0x00, 0x00, 0x00, 0x00, 0x01: 0x33 # 3
map = 0x00, 0x00, 0x20, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00: 0x33 # 3
map = 0x00, 0x00, 0x20, 0x04, 0x00, 0x00, 0x00, 0x00, 0x01: 0x34 # 4
map = 0x00, 0x00, 0x20, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00: 0x34 # 4
map = 0x00, 0x00, 0x20, 0x05, 0x00, 0x00, 0x00, 0x00, 0x01: 0x35 # 5
map = 0x00, 0x00, 0x20, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00: 0x35 # 5
map = 0x00, 0x00, 0x20, 0x06, 0x00, 0x00, 0x00, 0x00, 0x01: 0x36 # 6
map = 0x00, 0x00, 0x20, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00: 0x36 # 6
map = 0x00, 0x00, 0x20, 0x07, 0x00, 0x00, 0x00, 0x00, 0x01: 0x37 # 7
map = 0x00, 0x00, 0x20, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00: 0x37 # 7
map = 0x00, 0x00, 0x20, 0x08, 0x00, 0x00, 0x00, 0x00, 0x01: 0x38 # 8
map = 0x00, 0x00, 0x20, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00: 0x38 # 8
map = 0x00, 0x00, 0x20, 0x09, 0x00, 0x00, 0x00, 0x00, 0x01: 0x39 # 9
map = 0x00, 0x00, 0x20, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00: 0x39 # 9
map = 0x00, 0x00, 0x20, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x01: 0x2a # *
map = 0x00, 0x00, 0x20, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00: 0x2a # *
map = 0x00, 0x00, 0x20, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x01: 0x30 # 0
map = 0x00, 0x00, 0x20, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00: 0x30 # 0
map = 0x00, 0x00, 0x20, 0x16, 0x00, 0x00, 0x00, 0x00, 0x01: 0x23 # #
map = 0x00, 0x00, 0x20, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00: 0x23 # #
map = 0x00, 0x00, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01: 0x93 # offhook
map = 0x00, 0x00, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00: 0x93 # offhook
map = 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01: 0x94 # onhook
map = 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00: 0x94 # onhook
map = 0x00, 0x00, 0x20, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x01: 0x90 # flash
map = 0x00, 0x00, 0x20, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00: 0x90 # flash

map = 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00: 0xf1 # ring on
map = 0x00, 0x00, 0x1a, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00: 0xf0 # ring off

map = 0x00, 0x00, 0x9a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00: 0xf3 # ring on ack
map = 0x00, 0x00, 0x9a, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00: 0xf2 # ring off ack

[Claritel-i750 - vp (generated)]
id = 0xcf80750
len = 0x03
map = 0x01, 0x02, 0x00: 0x31 # 1
map = 0x01, 0x03, 0x00: 0x32 # 2
map = 0x01, 0x04, 0x00: 0x33 # 3
map = 0x01, 0x05, 0x00: 0x34 # 4
map = 0x01, 0x06, 0x00: 0x35 # 5
map = 0x01, 0x07, 0x00: 0x36 # 6
map = 0x01, 0x08, 0x00: 0x37 # 7
map = 0x01, 0x09, 0x00: 0x38 # 8
map = 0x01, 0x0a, 0x00: 0x39 # 9
map = 0x01, 0x01, 0x00: 0x30 # 0
map = 0x01, 0x0b, 0x00: 0x2a # *
map = 0x01, 0x0c, 0x00: 0x23 # #
map = 0x01, 0x80, 0x00: 0x90 # flash
map = 0x01, 0x00, 0x00: 0x93 # offhook
map = 0x01, 0x10, 0x00: 0x94 # onhook
map = 0x01, 0x10, 0x00: 0x00 # key up

[generic HID Telephony Page]
id = 0x00
hidmap = 0x0b, 0xb0: 0x30 # 0
hidmap = 0x0b, 0xb1: 0x31 # 1
hidmap = 0x0b, 0xb2: 0x32 # 2
hidmap = 0x0b, 0xb3: 0x33 # 3
hidmap = 0x0b, 0xb4: 0x34 # 4
hidmap = 0x0b, 0xb5: 0x35 # 5
hidmap = 0x0b, 0xb6: 0x36 # 6
hidmap = 0x0b, 0xb7: 0x37 # 7
hidmap = 0x0b, 0xb8: 0x38 # 8
hidmap = 0x0b, 0xb9: 0x39 # 9
hidmap = 0x0b, 0xba: 0x2a # *
hidmap = 0x0b, 0xbb: 0x23 # #
hidmap = 0x0b, 0x20: 0x93 # hookswitch (onhook missing)
hidmap = 0x0b, 0x20: 0xf5 # offhook response
hidmap = 0x0b, 0x20: 0xf6 # onhook response
hidmap = 0x08, 0x17: 0xf5 # offhook response

[GN 8120 USB]
id = 0xb0e8120
hidmap = 0x0b, 0x20 : 0x20 # speaker
hidmap = 0x0b, 0x70 : 0x90 # flash
hidmap = 0x0b, 0x2f : 0x8e # key disconnect
hidmap = 0x0c, 0xea : 0x98 # speaker vol +
hidmap = 0x0c, 0xe9 : 0x99 # speaker vol -

[Plantronics CS50/CS60-USB Headset]
id = 0x47f0410
len = 0x02
map = 0x01, 0x01: 0x93 # offhook
map = 0x01, 0x00: 0x94 # onhook

[GN 9350]
id = 0xb0e9350
len = 0x03
map = 0x00, 0x08, 0x00 : 0x93 # offhook
map = 0x00, 0x00, 0x01 : 0xf4 # ring once

[GN 9335e USB port]
id = 0xb0e9330
len = 0x03
map = 0x00, 0x08, 0x00 : 0x93 # offhook
map = 0x00, 0x00, 0x01 : 0xf4 # ring once

# [GN 9350 HID]
# id = 0xb0e9350
# hidmap = 0x0b, 0x20: 0x93 # offhook
# hidmap = 0x0b, 0x9e: 0xf4 # ring once

[Jabra A330 device 2]
id = 0xb0ea330
len = 0x03
map = 0x02, 0x10, 0x00: 0x93 # offhook
map = 0x02, 0x00, 0x00: 0x94 # onhook

[Jabra BIZ 2400]
id = 0xb0e090a
len = 0x03
map = 0x03, 0x01, 0x00: 0x93 # offhook
map = 0x03, 0x09, 0x00: 0x93 # offhook
map = 0x03, 0x00, 0x00: 0x94 # onhook
map = 0x03, 0x01, 0x00: 0xf5 # offhook response
map = 0x03, 0x00, 0x00: 0xf6 # onhook response
map = 0x03, 0x09, 0x00: 0x8f # micro

[Jabra LINK 320 USB]
id = 0xb0e0320
len = 0x03
map = 0x02, 0x01, 0x00: 0x93 # offhook
map = 0x02, 0x09, 0x00: 0x93 # offhook
map = 0x02, 0x00, 0x00: 0x94 # onhook
map = 0x02, 0x01, 0x00: 0xf5 # offhook response
map = 0x02, 0x00, 0x00: 0xf6 # onhook response
map = 0x02, 0x48, 0x00: 0x8e # disconnect

[Jabra LINK 350 USB]
#Jabra GO 6430
#1st device
id = 0xb0ea342
len = 0x03
map = 0x02, 0x01, 0x00: 0x93 # offhook
map = 0x02, 0x09, 0x00: 0x93 # offhook
map = 0x02, 0x00, 0x00: 0x94 # onhook
map = 0x02, 0x0a, 0x00: 0x94 # onhook
map = 0x02, 0x2b, 0x00: 0x90 # flash; button 1s
map = 0x02, 0x01, 0x00: 0xf5 # offhook response
map = 0x02, 0x00, 0x00: 0xf6 # onhook response
map = 0x02, 0x48, 0x00: 0x8e # disconnect

[Jabra LINK 360 USB]
#Jabra SUPREME UC
#1st device
id = 0xb0ea346
len = 0x03
map = 0x02, 0x01, 0x00: 0x93 # offhook
map = 0x02, 0x09, 0x00: 0x93 # offhook
map = 0x02, 0x00, 0x00: 0x94 # onhook
map = 0x02, 0x0a, 0x00: 0x94 # onhook
map = 0x02, 0x2b, 0x00: 0x90 # flash (button 1s in offhook mode)
map = 0x02, 0x01, 0x00: 0xf5 # offhook response
map = 0x02, 0x00, 0x00: 0xf6 # onhook response
map = 0x02, 0x00, 0x10: 0x8e # disconnect (double click in ringing state)
map = 0x02, 0x08, 0x00: 0xf1 # ring on
map = 0x02, 0x00, 0x00: 0xf0 # ring off

[Jabra PRO 94(60/70) (1041)]
id = 0xb0e1041
len = 0x03
map = 0x02, 0x01, 0x00: 0x93 # offhook
map = 0x02, 0x03, 0x00: 0x93 # offhook
map = 0x02, 0x09, 0x00: 0x93 # offhook
map = 0x02, 0x0a, 0x00: 0x94 # onhook
map = 0x02, 0x02, 0x10: 0x8e # disconnect
map = 0x02, 0x08, 0x10: 0x8e # disconnect
map = 0x02, 0x09, 0x10: 0x8e # disconnect
map = 0x02, 0x01, 0x00: 0xf5 # offhook response
map = 0x02, 0x00, 0x00: 0xf6 # onhook response
map = 0x02, 0x48, 0x00: 0x8e # disconnect
map = 0x02, 0x08, 0x00: 0xf1 # ring on
map = 0x02, 0x00, 0x00: 0xf0 # ring off

[Jabra PRO 94(60/70) (1042)]
id = 0xb0e1042
len = 0x03
map = 0x02, 0x01, 0x00: 0x93 # offhook
map = 0x02, 0x03, 0x00: 0x93 # offhook
map = 0x02, 0x09, 0x00: 0x93 # offhook
map = 0x02, 0x0a, 0x00: 0x94 # onhook
map = 0x02, 0x02, 0x10: 0x8e # disconnect
map = 0x02, 0x08, 0x10: 0x8e # disconnect
map = 0x02, 0x09, 0x10: 0x8e # disconnect
map = 0x02, 0x01, 0x00: 0xf5 # offhook response
map = 0x02, 0x00, 0x00: 0xf6 # onhook response
map = 0x02, 0x48, 0x00: 0x8e # disconnect
map = 0x02, 0x08, 0x00: 0xf1 # ring on
map = 0x02, 0x00, 0x00: 0xf0 # ring off

[Jabra GO 6470 (1003)]
id = 0xb0e1003
len = 0x03
map = 0x02, 0x01, 0x00: 0x93 # offhook
map = 0x02, 0x03, 0x00: 0x93 # offhook
map = 0x02, 0x09, 0x00: 0x93 # offhook
map = 0x02, 0x0a, 0x00: 0x94 # onhook
map = 0x02, 0x02, 0x10: 0x8e # disconnect
map = 0x02, 0x08, 0x10: 0x8e # disconnect
map = 0x02, 0x09, 0x10: 0x8e # disconnect
map = 0x02, 0x01, 0x00: 0xf5 # offhook response
map = 0x02, 0x00, 0x00: 0xf6 # onhook response
map = 0x02, 0x48, 0x00: 0x8e # disconnect
map = 0x02, 0x08, 0x00: 0xf1 # ring on
map = 0x02, 0x00, 0x00: 0xf0 # ring off

[Jabra GO 6470 (1004)]
id = 0xb0e1004
len = 0x03
map = 0x02, 0x01, 0x00: 0x93 # offhook
map = 0x02, 0x03, 0x00: 0x93 # offhook
map = 0x02, 0x09, 0x00: 0x93 # offhook
map = 0x02, 0x0a, 0x00: 0x94 # onhook
map = 0x02, 0x02, 0x10: 0x8e # disconnect
map = 0x02, 0x08, 0x10: 0x8e # disconnect
map = 0x02, 0x09, 0x10: 0x8e # disconnect
map = 0x02, 0x01, 0x00: 0xf5 # offhook response
map = 0x02, 0x00, 0x00: 0xf6 # onhook response
map = 0x02, 0x48, 0x00: 0x8e # disconnect
map = 0x02, 0x08, 0x00: 0xf1 # ring on
map = 0x02, 0x00, 0x00: 0xf0 # ring off

[Jabra PRO 930 (930-25-509-101)]
id = 0xb0e1016
len = 0x03
map = 0x02, 0x01, 0x00: 0x93 # offhook
map = 0x02, 0x03, 0x00: 0x93 # offhook
map = 0x02, 0x09, 0x00: 0x93 # offhook
map = 0x02, 0x0b, 0x00: 0x93 # offhook
map = 0x02, 0x0a, 0x00: 0x94 # onhook
map = 0x02, 0x2b, 0x00: 0x90 # flash (button 1s in offhook mode)
map = 0x02, 0x02, 0x10: 0x8e # disconnect
map = 0x02, 0x08, 0x10: 0x8e # disconnect
map = 0x02, 0x09, 0x10: 0x8e # disconnect
map = 0x02, 0x01, 0x00: 0xf5 # offhook response
map = 0x02, 0x00, 0x00: 0xf6 # onhook response
map = 0x02, 0x80, 0x00: 0x8e # disconnect (double click in ringing state)
map = 0x02, 0x8a, 0x00: 0x8e # disconnect (double click in ringing state)
map = 0x02, 0x08, 0x00: 0xf1 # ring on
map = 0x02, 0x00, 0x00: 0xf0 # ring off

[Jabra LINK 350 OC]
id = 0xb0ea340
len = 0x03
map = 0x02, 0x01, 0x00: 0x93 # offhook
map = 0x02, 0x01, 0x00: 0xf5 # offhook response
map = 0x02, 0x00, 0x00: 0x94 # onhook
map = 0x02, 0x00, 0x00: 0xf6 # onhook response

[Jabra GO 6430 (6430-17-20-201) | Version C]
id = 0xb0ea342
len = 0x03
map = 0x02, 0x01, 0x00: 0x93 # offhook
map = 0x02, 0x01, 0x00: 0xf5 # offhook response
map = 0x02, 0x00, 0x00: 0x94 # onhook
map = 0x02, 0x00, 0x00: 0xf6 # onhook response

[Jabra SUPREME UC (5078-230-310)]
id = 0xb0ea346
len = 0x03
map = 0x02, 0x01, 0x00: 0x93 # offhook
map = 0x02, 0x01, 0x00: 0xf5 # offhook response
map = 0x02, 0x00, 0x00: 0x94 # onhook
map = 0x02, 0x00, 0x00: 0xf6 # onhook response

[Plantronics Savi 740]
id = 0x47fac01
len = 0x4
# headset button
map = 0x04, 0x10, 0x00, 0x46: 0x93 # offhook
map = 0x04, 0x10, 0x00, 0x06: 0x93 # offhook
map = 0x04, 0xd0, 0x00, 0x46: 0x93 # offhook
map = 0x04, 0xd0, 0x00, 0x06: 0x93 # offhook
map = 0x04, 0x10, 0x80, 0x46: 0x93 # offhook
map = 0x04, 0x10, 0x80, 0x06: 0x93 # offhook
map = 0x04, 0xd0, 0x80, 0x46: 0x93 # offhook
map = 0x04, 0xd0, 0x80, 0x06: 0x93 # offhook
# in base station; ignore
#map = 0x04, 0x10, 0x00, 0x44: 0x93 # offhook
#map = 0x04, 0x10, 0x00, 0x04: 0x93 # offhook
#map = 0x04, 0xd0, 0x00, 0x44: 0x93 # offhook
#map = 0x04, 0xd0, 0x00, 0x04: 0x93 # offhook
# base station button
map = 0x04, 0x00, 0x04, 0x46: 0x93 # offhook
map = 0x04, 0x00, 0x04, 0x06: 0x93 # offhook
map = 0x04, 0xc0, 0x04, 0x46: 0x93 # offhook
map = 0x04, 0xc0, 0x04, 0x06: 0x93 # offhook
map = 0x04, 0x00, 0x84, 0x46: 0x93 # offhook
map = 0x04, 0x00, 0x84, 0x06: 0x93 # offhook
map = 0x04, 0xc0, 0x84, 0x46: 0x93 # offhook
map = 0x04, 0xc0, 0x84, 0x06: 0x93 # offhook
# in base station; ignore
#map = 0x04, 0x00, 0x04, 0x44: 0x93 # offhook
#map = 0x04, 0x00, 0x04, 0x04: 0x93 # offhook
#map = 0x04, 0xc0, 0x04, 0x44: 0x93 # offhook
#map = 0x04, 0xc0, 0x04, 0x04: 0x93 # offhook
#
# headset button
map = 0x04, 0x10, 0x00, 0x4d: 0x94 # onhook
map = 0x04, 0x10, 0x00, 0x4f: 0x94 # onhook
map = 0x04, 0x10, 0x00, 0x0d: 0x94 # onhook
map = 0x04, 0x10, 0x00, 0x0f: 0x94 # onhook
map = 0x04, 0xd0, 0x00, 0x4d: 0x94 # onhook
map = 0x04, 0xd0, 0x00, 0x4f: 0x94 # onhook
map = 0x04, 0xd0, 0x00, 0x0d: 0x94 # onhook
map = 0x04, 0xd0, 0x00, 0x0f: 0x94 # onhook
map = 0x04, 0x10, 0x80, 0x4d: 0x94 # onhook
map = 0x04, 0x10, 0x80, 0x4f: 0x94 # onhook
map = 0x04, 0x10, 0x80, 0x0d: 0x94 # onhook
map = 0x04, 0x10, 0x80, 0x0f: 0x94 # onhook
map = 0x04, 0xd0, 0x80, 0x4d: 0x94 # onhook
map = 0x04, 0xd0, 0x80, 0x4f: 0x94 # onhook
map = 0x04, 0xd0, 0x80, 0x0d: 0x94 # onhook
map = 0x04, 0xd0, 0x80, 0x0f: 0x94 # onhook
# base station button
map = 0x04, 0x00, 0x04, 0x4d: 0x94 # onhook
map = 0x04, 0x00, 0x04, 0x4f: 0x94 # onhook
map = 0x04, 0x00, 0x04, 0x0d: 0x94 # onhook
map = 0x04, 0x00, 0x04, 0x0f: 0x94 # onhook
map = 0x04, 0xc0, 0x04, 0x4d: 0x94 # onhook
map = 0x04, 0xc0, 0x04, 0x4f: 0x94 # onhook
map = 0x04, 0xc0, 0x04, 0x0d: 0x94 # onhook
map = 0x04, 0xc0, 0x04, 0x0f: 0x94 # onhook
map = 0x04, 0x00, 0x84, 0x4d: 0x94 # onhook
map = 0x04, 0x00, 0x84, 0x4f: 0x94 # onhook
map = 0x04, 0x00, 0x84, 0x0d: 0x94 # onhook
map = 0x04, 0x00, 0x84, 0x0f: 0x94 # onhook
map = 0x04, 0xc0, 0x84, 0x4d: 0x94 # onhook
map = 0x04, 0xc0, 0x84, 0x4f: 0x94 # onhook
map = 0x04, 0xc0, 0x84, 0x0d: 0x94 # onhook
map = 0x04, 0xc0, 0x84, 0x0f: 0x94 # onhook
# idle in base station, turned off
map = 0x04, 0xc0, 0x00, 0x44: 0x94 # onhook
map = 0x04, 0xc0, 0x00, 0x04: 0x94 # onhook
map = 0x04, 0xc0, 0x80, 0x44: 0x94 # onhook
map = 0x04, 0xc0, 0x80, 0x04: 0x94 # onhook
# long up/down; ignore
#map = 0x04, 0xc4, 0x00, 0x0f:
#map = 0x04, 0xc4, 0x80, 0x0f:
# hook in park mode; ignore
#map = 0x04, 0xd0, 0x80, 0x0f
#map = 0x04, 0xd0, 0x80, 0x4f
#map = 0x04, 0xc0, 0x84, 0x0f
#map = 0x04, 0xc0, 0x84, 0x4f

[Sennheiser VoIP USB headset]
#2nd device
id = 0x13950008
len = 0x02
map = 0x02, 0x01: 0x93 # hookswitch (onhook missing)
map = 0x02, 0x08: 0x8e # disconnect (Long press when phone is ringing)
map = 0x02, 0x02: 0x91 # redial (Long press when phone is idle)
map = 0x02, 0x02: 0xf1 # ring on
map = 0x02, 0x08: 0xf5 # offhook response
map = 0x02, 0x00: 0xf6 # onhook response

[Sennheiser DECT]
#Sennheiser DW Office
#1st device
id = 0x1395740a
len = 0x02
map = 0x02, 0x04: 0x93 # offhook
map = 0x02, 0x00: 0x94 # onhook
map = 0x02, 0x0c: 0x90 # flash (Long press in active call)
map = 0x02, 0x08: 0x91 # redial (Long press when phone is idle)
map = 0x03, 0x02: 0xf5 # offhook response
map = 0x03, 0x00: 0xf6 # onhook response
map = 0x03, 0x01: 0xf1 # ring on

[Sennheiser CEHS-CI 02]
#with adapter cable USB
#2nd device
id = 0x13950030
len = 0x02
map = 0x03, 0x01: 0x93 # offhook
map = 0x03, 0x00: 0x94 # onhook
map = 0x03, 0x02: 0xf5 # offhook response
map = 0x03, 0x00: 0xf6 # onhook response
map = 0x03, 0x01: 0xf1 # ring on

[Jabra SPEAK 410 USB Mono]
id = 0xb0e0410
len = 0x03
map = 0x03, 0x01, 0x00: 0x93 # offhook
map = 0x03, 0x01, 0x00: 0xf5 # offhook response
map = 0x03, 0x00, 0x00: 0x94 # onhook
map = 0x03, 0x00, 0x00: 0xf6 # onhook response

[Jabra SPEAK 410 USB Stereo]
id = 0xb0e0412
len = 0x03
map = 0x03, 0x01, 0x00: 0x93 # offhook
map = 0x03, 0x01, 0x00: 0xf5 # offhook response
map = 0x03, 0x00, 0x00: 0x94 # onhook
map = 0x03, 0x00, 0x00: 0xf6 # onhook response

[Jabra BIZ 2400 Mono USB]
id = 0xb0e090a
len = 0x03
map = 0x03, 0x01, 0x00: 0x93 # offhook
map = 0x03, 0x01, 0x00: 0xf5 # offhook response
map = 0x03, 0x00, 0x00: 0x94 # onhook
map = 0x03, 0x00, 0x00: 0xf6 # onhook response

[Jabra BIZ 2400 USB Mono]
id = 0xb0e091c
len = 0x03
map = 0x03, 0x01, 0x00: 0x93 # offhook
map = 0x03, 0x01, 0x00: 0xf5 # offhook response
map = 0x03, 0x00, 0x00: 0x94 # onhook
map = 0x03, 0x00, 0x00: 0xf6 # onhook response

[Jabra BIZ 2400 USB Mono (2)]
id = 0xb0e2400
len = 0x03
map = 0x03, 0x01, 0x00: 0x93 # offhook
map = 0x03, 0x01, 0x00: 0xf5 # offhook response
map = 0x03, 0x00, 0x00: 0x94 # onhook
map = 0x03, 0x00, 0x00: 0xf6 # onhook response

[Jabra PRO 9450]
id = 0xb0e1021
len = 0x03
map = 0x02, 0x09, 0x00: 0x93 # offhook
map = 0x02, 0x01, 0x00: 0xf5 # offhook response
map = 0x02, 0x0a, 0x00: 0x94 # onhook
map = 0x02, 0x00, 0x00: 0xf6 # onhook response

[Jabra PRO 9450 (2)]
id = 0xb0e1022
len = 0x03
map = 0x02, 0x09, 0x00: 0x93 # offhook
map = 0x02, 0x01, 0x00: 0xf5 # offhook response
map = 0x02, 0x0a, 0x00: 0x94 # onhook
map = 0x02, 0x00, 0x00: 0xf6 # onhook response

[Jabra BIZ 620 Mono]
id = 0xb0e0931
len = 0x02
map = 0x02, 0x01: 0x93 # offhook
map = 0x02, 0x01: 0xf5 # offhook response
map = 0x02, 0x00: 0x94 # onhook
map = 0x02, 0x00: 0xf6 # onhook response
map = 0x01, 0x02: 0x98 # speaker vol +
map = 0x01, 0x01: 0x99 # speaker vol -

[Jabra UC Voice 550 Duo(5599-829-209)]
id = 0xb0e0030
len = 0x02
map = 0x02, 0x01: 0x93 # offhook
map = 0x02, 0x01: 0xf5 # offhook response
map = 0x02, 0x00: 0x94 # onhook
map = 0x02, 0x00: 0xf6 # onhook response

[Jabra UC Voice 550 Mono(5593-829-209)]
id = 0xb0e0031
len = 0x02
map = 0x02, 0x01: 0x93 # offhook
map = 0x02, 0x01: 0xf5 # offhook response
map = 0x02, 0x00: 0x94 # onhook
map = 0x02, 0x00: 0xf6 # onhook response

[Jabra LINK 280(280-09)]
id = 0xb0e0910
len = 0x03
map = 0x03, 0x01, 0x00: 0x93 # offhook
map = 0x03, 0x01, 0x00: 0xf5 # offhook response
map = 0x03, 0x00, 0x00: 0x94 # onhook
map = 0x03, 0x00, 0x00: 0xf6 # onhook response

[Jabra LINK 14201-30 (DHSG-USB Adapter)]
id = 0xb0e0925
len = 0x03
map = 0x02, 0x01, 0x00: 0x93 # offhook
map = 0x02, 0x01, 0x00: 0xf5 # offhook response
map = 0x02, 0x00, 0x00: 0x94 # onhook
map = 0x02, 0x00, 0x00: 0xf6 # onhook response

[GN Netcom Jabra 2000 USB Duo NC EMEA]
id = 0xb0e2003
len = 0x02
map = 0x00, 0x01: 0x93 # offhook
map = 0x00, 0x01: 0xf5 # offhook response
map = 0x00, 0x00: 0x94 # onhook
map = 0x00, 0x00: 0xf6 # onhook response

[GN2000 Stereo USB]
id = 0xb0e2007
len = 0x02
map = 0x02, 0x01: 0x93 # offhook
map = 0x00, 0x01: 0xf5 # offhook response
map = 0x00, 0x00: 0x94 # onhook
map = 0x00, 0x00: 0xf6 # onhook response
map = 0x01, 0x02: 0x98 # speaker vol +
map = 0x01, 0x01: 0x99 # speaker vol -
map = 0x01, 0x01: 0x9a # speaker vol rel

[Plantronics - Voyager PRO UC v2 (USB/bluetooth)]
id = 0x0x047f0415
len = 0x02
map = 0x01, 0x01: 0x93 # offhook
map = 0x05, 0x01: 0xf5 # offhook response
map = 0x01, 0x00: 0x94 # onhook
map = 0x05, 0x00: 0xf6 # onhook response

[Plantronics - CALISTO P420 USB]
id = 0x0x047fd101
len = 0x02

[Plantronics - Voyager PRO UC v2 (USB/bluetooth) (2)]
id = 0x0x047f0416
len = 0x02
map = 0x01, 0x01: 0x93 # offhook
map = 0x05, 0x01: 0xf5 # offhook response
map = 0x01, 0x00: 0x94 # onhook
map = 0x05, 0x00: 0xf6 # onhook response

[Plantronics - Blackwire C320 (85619-02)]
id = 0x0x047fc00f
len = 0x02
map = 0x08, 0x02: 0x93 # offhook
map = 0x17, 0x01: 0xf5 # offhook response
map = 0x08, 0x00: 0x94 # onhook
map = 0x17, 0x00: 0xf6 # onhook response

[Plantronics - Blackwire C720 (87506-02)]
id = 0x0x047f010a
len = 0x02
map = 0x01, 0x01: 0x93 # offhook
map = 0x05, 0x01: 0xf5 # offhook response
map = 0x01, 0x00: 0x94 # onhook
map = 0x05, 0x00: 0xf6 # onhook response

[Plantronics - DA45 (USB/Wired)]
id = 0x0x047faa05
len = 0x06
map = 0x02, 0x01, 0x00, 0x00, 0x00, 0x00: 0x93 # offhook
map = 0x02, 0x03, 0x00, 0x00, 0x00, 0x00: 0x93 # offhook
map = 0x17, 0x01, 0x00, 0x00, 0x00, 0x00: 0xf5 # offhook response
map = 0x02, 0x00, 0x00, 0x00, 0x00, 0x00: 0x94 # onhook
map = 0x02, 0x02, 0x00, 0x00, 0x00, 0x00: 0x94 # onhook
map = 0x17, 0x00, 0x00, 0x00, 0x00, 0x00: 0xf6 # onhook response

[Plantronics - Blackwire C620 (USB/Wired)]
id = 0x0x047faa00
len = 0x06
map = 0x02, 0x01, 0x00, 0x00, 0x00, 0x00: 0x93 # offhook
map = 0x02, 0x03, 0x00, 0x00, 0x00, 0x00: 0x93 # offhook
map = 0x17, 0x01, 0x00, 0x00, 0x00, 0x00: 0xf5 # offhook response
map = 0x02, 0x00, 0x00, 0x00, 0x00, 0x00: 0x94 # onhook
map = 0x02, 0x02, 0x00, 0x00, 0x00, 0x00: 0x94 # onhook
map = 0x17, 0x00, 0x00, 0x00, 0x00, 0x00: 0xf6 # onhook response

[Plantronics - C420 (product aa10)]
id = 0x0x047faa10
len = 0x06
map = 0x02, 0x01, 0x00, 0x00, 0x00, 0x00: 0x93 # offhook
map = 0x02, 0x03, 0x00, 0x00, 0x00, 0x00: 0x93 # offhook
map = 0x17, 0x01, 0x00, 0x00, 0x00, 0x00: 0xf5 # offhook response
map = 0x02, 0x00, 0x00, 0x00, 0x00, 0x00: 0x94 # onhook
map = 0x02, 0x02, 0x00, 0x00, 0x00, 0x00: 0x94 # onhook
map = 0x17, 0x00, 0x00, 0x00, 0x00, 0x00: 0xf6 # onhook response

[Plantronics - C420 (product aa14)]
id = 0x0x047faa14
len = 0x06
map = 0x02, 0x01, 0x00, 0x00, 0x00, 0x00: 0x93 # offhook
map = 0x02, 0x03, 0x00, 0x00, 0x00, 0x00: 0x93 # offhook
map = 0x17, 0x01, 0x00, 0x00, 0x00, 0x00: 0xf5 # offhook response
map = 0x02, 0x00, 0x00, 0x00, 0x00, 0x00: 0x94 # onhook
map = 0x02, 0x02, 0x00, 0x00, 0x00, 0x00: 0x94 # onhook
map = 0x17, 0x00, 0x00, 0x00, 0x00, 0x00: 0xf6 # onhook response

[Plantronics - C435 (P.N. 85800-05)]
id = 0x0x047faa12
len = 0x06
map = 0x02, 0x01, 0x00, 0x00, 0x00, 0x00: 0x93 # offhook
map = 0x02, 0x03, 0x00, 0x00, 0x00, 0x00: 0x93 # offhook
map = 0x17, 0x01, 0x00, 0x00, 0x00, 0x00: 0xf5 # offhook response
map = 0x02, 0x00, 0x00, 0x00, 0x00, 0x00: 0x94 # onhook
map = 0x02, 0x02, 0x00, 0x00, 0x00, 0x00: 0x94 # onhook
map = 0x17, 0x00, 0x00, 0x00, 0x00, 0x00: 0xf6 # onhook response

[Plantronics D100 (USB/Bluetooth, Savi W430, W440)]
id = 0x0x047fab01
len = 0x05
map = 0x04, 0x10, 0x00, 0x00, 0x00, 0x00: 0x93 # offhook
map = 0xff, 0x10, 0x00, 0x00, 0x00, 0x00: 0x93 # offhook
map = 0x60, 0x01: 0xf5 # offhook response
map = 0x60, 0x00: 0xf6 # onhook response

[Jabra PRO 930 OC]
id = 0xb0e1017
len = 0x03
map = 0x02, 0x01, 0x00: 0x93 # offhook
map = 0x02, 0x03, 0x00: 0x93 # offhook
map = 0x02, 0x09, 0x00: 0x93 # offhook
map = 0x02, 0x0b, 0x00: 0x93 # offhook
map = 0x02, 0x0a, 0x00: 0x94 # onhook
map = 0x02, 0x2b, 0x00: 0x90 # flash (button 1s in offhook mode)
map = 0x02, 0x02, 0x10: 0x8e # disconnect
map = 0x02, 0x08, 0x10: 0x8e # disconnect
map = 0x02, 0x09, 0x10: 0x8e # disconnect
map = 0x02, 0x01, 0x00: 0xf5 # offhook response
map = 0x02, 0x00, 0x00: 0xf6 # onhook response
map = 0x02, 0x80, 0x00: 0x8e # disconnect (double click in ringing state)
map = 0x02, 0x8a, 0x00: 0x8e # disconnect (double click in ringing state)
map = 0x02, 0x08, 0x00: 0xf1 # ring on
map = 0x02, 0x00, 0x00: 0xf0 # ring off

</code></pre>

Could you point me in the right direction to get Evolve fully functioning with innovaphone softphone?

Best regards
Christian


Joined: 17/04/2018 04:27:59
Messages: 0
Offline

OK, i manage to get some things to work now...

<pre><code>[Jabra EVOLVE LINK]
id = 0xb0e0306
len = 0x03
map = 0x02, 0x01, 0x00: 0x93 # offhook
#map = 0x02, 0x09, 0x00: 0x93 # offhook
#map = 0x02, 0x0b, 0x00: 0x93 # offhook
#map = 0x02, 0x02, 0x00: 0x94 # onhook
#map = 0x02, 0x2b, 0x00: 0x90 # flash (button 1s in offhook mode)
#map = 0x02, 0x02, 0x10: 0x8e # disconnect
#map = 0x02, 0x08, 0x10: 0x8e # disconnect
#map = 0x02, 0x09, 0x10: 0x8e # disconnect
map = 0x02, 0x01, 0x00: 0xf5 # offhook response
map = 0x02, 0x00, 0x00: 0xf6 # onhook response
#map = 0x02, 0x80, 0x00: 0x8e # disconnect (double click in ringing state)
#map = 0x02, 0x8a, 0x00: 0x8e # disconnect (double click in ringing state)
map = 0x02, 0x08, 0x00: 0xf1 # ring on
map = 0x02, 0x00, 0x00: 0xf0 # ring off</code></pre>


This make the off hook work, the ringer (but it shows HOLD, not ringer).

When i connect the headset i get this list:
<pre><code>0:0307:858:7 - usb: hid device manufacturer: GN Netcom A/S
0:0307:859:7 - usb: hid product name: Jabra EVOLVE LINK
0:0307:859:7 - usb: usage page: b
0:0307:859:7 - usb: report length: 3
0:0307:859:7 - usb: usage index 0 -> 0xb0097
0:0307:859:7 - usb: usage index 1 -> 0xb0020
0:0307:859:7 - usb: usage index 2 -> 0xb0050
0:0307:859:7 - usb: usage index 3 -> 0xb0024
0:0307:859:7 - usb: usage index 4 -> 0xb0021
0:0307:859:7 - usb: usage index 5 -> 0xb002f
0:0307:859:7 - usb: usage index 6 -> 0x90007
0:0307:859:7 - usb: usage index 7 -> 0xb00b0
0:0307:859:7 - usb: usage index 8 -> 0xb00b1
0:0307:859:7 - usb: usage index 9 -> 0xb00b2
0:0307:859:7 - usb: usage index a -> 0xb00b3
0:0307:859:7 - usb: usage index b -> 0xb00b4
0:0307:859:7 - usb: usage index c -> 0xb00b5
0:0307:859:7 - usb: usage index d -> 0xb00b6
0:0307:859:7 - usb: usage index e -> 0xb00b7
0:0307:859:7 - usb: usage index f -> 0xb00b8
0:0307:859:7 - usb: usage index 10 -> 0xb00b9
0:0307:859:7 - usb: usage index 11 -> 0xb00ba
0:0307:859:7 - usb: usage index 12 -> 0xb00bb</code></pre>


I need to translate that to this:
<pre><code># innovaphone softphone mapping codes
#
# 0x30 - 0x39 : 0 - 9
# 0x93 : offhook
# 0x94 : onhook
# 0x20 : speaker (toggle)
# 0x90 : flash
# 0x2a : *
# 0x23 : #
# 0x8e : key disconnect
# 0x91 : redial
# 0x86 : up (volume)
# 0x89 : down (volume)
# 0x8f : micro
# 0x98 : speaker vol +
# 0x99 : speaker vol -
# 0x9a : speaker vol rel
#
# 0xf1 : start ring
# 0xf0 : stop ring
# 0xf3 : start ring ack
# 0xf2 : stop ring ack
# 0xf4 : start ring once
# 0xf5 : offhook response
# 0xf6 : onhook response</code></pre>


My issue is that i dont know how!

//Christian
Christian


Joined: 17/04/2018 04:27:59
Messages: 0
Offline

So i manage to get some more things to work...

<pre><code>[Jabra EVOLVE LINK]
id = 0xb0e0306
len = 03
map = 0x02, 0x01, 0x00: 0x93 # offhook
map = 0x02, 0x03, 0x00: 0x93 # offhook
#map = 0x02, 0x09, 0x00: 0x93 # offhook
map = 0x02, 0x02, 0x00: 0x94 # onhook
#map = 0x02, 0x07, 0x00: 0x90 # flash (button 1s in offhook mode)
#map = 0x02, 0x02, 0x10: 0x8e # disconnect
#map = 0x02, 0x08, 0x10: 0x8e # disconnect
#map = 0x02, 0x09, 0x10: 0x8e # disconnect
map = 0x02, 0x01, 0x00: 0xf5 # offhook response
map = 0x02, 0x02, 0x00: 0xf6 # onhook response
#map = 0x02, 0x80, 0x00: 0x8e # disconnect (double click in ringing state)
#map = 0x02, 0x8a, 0x00: 0x8e # disconnect (double click in ringing state)
map = 0x02, 0x04, 0x00: 0xf1 # ring on
map = 0x02, 0x00, 0x00: 0xf0 # ring off</code></pre>


This make it blink correct on incoming call (ringer) but for some reason when i answer the call i need to press twice on hook key, first to do hook off and second to turn busy light on. Hook on works fine.

If i go off hook without a active call the mic is on mute for some reason, so i need to unmute every time i make a call.
Christian


Joined: 17/04/2018 04:27:59
Messages: 0
Offline

Well i manage to get it to work better:

<pre><code>[Jabra EVOLVE LINK]
id = 0xb0e0306
len = 03
map = 0x02, 0x01, 0x00: 0x93 # offhook
map = 0x02, 0x05, 0x00: 0x93 # offhook
map = 0x02, 0x02, 0x00: 0x94 # onhook
map = 0x02, 0x01, 0x00: 0xf5 # offhook response
map = 0x02, 0x00, 0x00: 0xf6 # onhook response
map = 0x02, 0x04, 0x00: 0xf1 # ring on
map = 0x02, 0x01, 0x00: 0xf0 # ring off
#map = 0x02, 0x03, 0x00: 0x8f # Mute
map = 0x02, 0x08, 0x00: 0x90 # flash (button 1s in offhook mode)
map = 0x02, 0x02, 0x10: 0x8e # disconnect
map = 0x02, 0x08, 0x10: 0x8e # disconnect
#map = 0x02, 0x09, 0x10: 0x8e # disconnect
map = 0x02, 0x80, 0x00: 0x8e # disconnect (double click in ringing state)
map = 0x02, 0x8a, 0x00: 0x8e # disconnect (double click in ringing state)</code></pre>


I dont know if i need all of them but now it seams to work okay...

I found a tool made for HID scales that i was able to send raw strings to the headset to see what happend: <a href="http://www.bumderland.com/dev/USBHIDScale.html">USB HID Scale Reader</a>

By sending raw data i could "figure out" what i needed:

<pre><code>020000 - Hook on/clear
020001 - Hook on/clear
020100 - Hook off
020101 - Hook off
020102 - Hook off
020200 - Hook on + Mute
020201 - Hook on + Mute
020202 - Hook on + Mute
020300 - Hook off + Mute
020301 - Hook off + Mute
020302 - Hook off + Mute
020400 - Ringer
020401 - Ringer
020402 - Ringer
020500 - Hook off
020501 - Hook off
020502 - Hook off
020600 - Ringer + Mute
020601 - Ringer + Mute
020602 - Ringer + Mute
020700 - Hook off
020701 - Hook off
020702 - Hook off
020800 - Hook off Hook on, Flash?
020801 - Hook off Hook on, Flash?
020802 - Hook off Hook on, Flash?
020900 - Hook off Hook on, Flash?
020901 - Hook off Hook on, Flash?
020902 - Hook off Hook on, Flash?

020210 - Disconnect?
028000 - Disconnect?
028a00 - Disconnect?
020810 - Disconnect?</code></pre>


As i didn´t know exactly what everything was i just wrote what i thought happen....

And now it works quite nice!
Mehmet


Joined: 17/04/2018 04:27:59
Messages: 1
Offline

Hi Christian,
sorry for the long response time. Its good to hear that you have figured out workaround for your observations. Input to get busy light working, you can check setting by using Jabra Direct whether the busylight function on the controller as well as the headset is enabled. This can be found under 'Settings' --> 'Headset' menu.
Let me know if this was useful.

Regards
Mehmet
Christian


Joined: 17/04/2018 04:27:59
Messages: 0
Offline

Hi!

Yes it´s enabled in Jabra Direct
Image link: <a href="http://prntscr.com/89t4g7" target="_blank">Jabra direct</a>

Unfortunately I spook to soon smilie

<pre><code>map = 0x02, 0x04, 0x00: 0xf1 # ring on
map = 0x02, 0x01, 0x00: 0xf0 # ring off</code></pre>



This did not work as expected, It works fine if i answer the call, the the ringer changes to Busy light, but if i don't answer it goes hook off when the caller stops to ring...

If I sett it to:

<pre><code>map = 0x02, 0x04, 0x00: 0xf1 # ring on
map = 0x02, 0x00, 0x00: 0xf0 # ring off</code></pre>



It work if i don't answer the call(ringer turns on and off), but if i answer i need to press Hook key twice for busy light to turn on, it answers on first hook

Any ides what to do?

Best regards
Mehmet


Joined: 17/04/2018 04:27:59
Messages: 1
Offline

Hi Christian,
I think there is something wrong in the signaling since you need to press twice to enable e.g. busy light.
I will direct your attention towards our USB HID specification, which can be found here:
<a href="https://jabra.wpengine.com/sdks/multiplatform-solutions/">USB HID</a>

in here you can find sequence diagrams of commandflow between host and our device. I think this will give you a better idea of what our devices expect in certain scenarios.

Look forward to hear from you.

Thanks
Mehmet
 
 
Go to: