GXP-2000 Recent Firmware Notes

Firmware Summary

The following table attempts to summarise the Grandstream firmware versions released to date. Grandstream has released software in a variety of states - from stable, to very beta.

Using beta release software is tempting, but can be a risk. Many people enjoy using the more stable releases without comment. If you choose to try beta release software, read the detailed firmware notes below and add any useful findings.
Firmware release summary
Version Date Status Notes 9-Dec-2010 StableAvailable for download from the official releases page 28-Oct-2010 StableAvailable for download from the official releases page 26-Aug-2010 StableAvailable for download from the official releases page 16-Mar-2010 StableAvailable for download from the official releases page 28-Dec-2009 StableAvailable for download from the official releases page, also available is the Language pack 19-Dec-2009 StableAvailable for download from the official releases page, also available is the Language pack 28-May-2009 StableAvailable for download from the official releases page, also available is the Language pack 15-Feb-2009 StableAvailable for download from the official releases page, also available is the Language pack Stable Available from the official releases page 16-Oct-2008 Stable Available from the official releases page 18-Mar-2008 StableAvailable for download from the official releases page also available is the Language pack 23-Nov-2007 StableAvailable for download from the official releases page also available is the Language pack 07-Nov-2007 BetaAvailable for download from the Beta downloads site 04-Oct-2007 BetaSpotted at Grandstreamsucks.com 31-Aug-2007 BetaAvailable for download from the Beta downloads site 18-Jul-2007 Stable? Available for download from the official releases page 15-Mar-2007 Beta First beta of 1.1.3.x 30-Jan-2007 Stable? 11-Oct-2006 Stable download (broken link ?)

NOTE: Phones running releases 1.1.6.x onwards cannot be downgraded later to v1.1.5.x or below

Link to Grandstream's official firmware download page
Link to the unofficial Grandstream firmware download page, which contains unreleased beta versions.

Firmware Notes (December 9, 2010)

Changes since

  • Fixed phones do not send PRACK on receiving
  • Fixed phones display missed calls when it received CANCEL with “completed elsewhere” on Fritzbox server

  • Added support for hiding digits when dialing in numbers for GXP2000

Firmware Notes (October 28, 2010)

Changes since

  • Fixed phones freeze during firmware upgrade using HTTP
  • Fixed phones firmware upgrade take a long time
  • Fixed phones do not respond with ACK on retransmission of 200 OK after it sent ACK
  • Fixed GXP280/285 handset mic gain is too low
  • Fixed GXP2000 handset mic gain is too low
  • Fixed BT20x crashes when upgrade server is set to certain value
  • Fixed phones do not match identifier on PPP Echo responses

  • Added support for Implied Transfer on GXP1200
  • Added a configuration option to disable headset button

Firmware Notes (August 26, 2010)

The main purpose of this release is improving voice quality and addressing stability issues observed in previous releases.

Changes since

  • Fixed GXP phones do not process more than 5k bytes long BLF NOTIFY packets
  • Fixed GXP1200 phone cannot save message to draftbox when any field of To ID and content is blank
  • Fixed phone responds with 481 on receiving NOTIFY messages for presence event on extension board
  • Fixed custom ringtone 1 does not read out caller ID
  • Fixed GXP2010 hears noise after Blind Transfer failed under SRTP mode
  • Fixed one account can sign in to two call queues
  • Fixed GXP phones will not re-register after network is down
  • Fixed phone offer/answer attribute error when hold/un-hold in 3-way conference is done
  • Fixed BT200 sends out big noise to the 3rd party
  • Fixed GXP1200 provision will lead to crash issue if the device enters password status
  • Fixed GXP2020 cannot configure Eventlist BLF option on account 5/6 web page
  • Fixed “Display CID instead of name” does not display properly during call waiting
  • Fixed phone cannot save/display Chinese account name
  • Fixed phone does not send 180 Ringing under certain conditions

  • Added support for XML provisioning on GXP280/1200
  • Added better indication about call forward on GXP1200/2000
  • Added MetaSwitch support for intercom using alert-info
  • Added Huawei special feature for BT200/GXP280/GXP285/GXP1200/GXP2000
  • Added ZTE special feature
  • Added ability to set BLF Call-Pickup prefix to null or blank
  • Added support for speed dial via active account (it does not apply to extension board)
  • Added support for IM to be able to send messages on GXP1200
  • Added Nortel presence support to blink BLF when the monitored phone is in conversation
  • Added support to choose headset or speaker as the default for “HEADSET Key Mode”

Post your experiences here:

Firmware Notes (March 16, 2010)

The main purpose of this release is improving voice quality and addressing stability issues observed in previous releases.

Changes since

  • Fixed '<' '>' in display name of From or To header of a SIP request such as SUBSCRIBE or INVITE causes GXP responses 400 Bad Request
  • Fixed GXP1200 displays no line info after hold conference
  • Fixed phone HTTP upgrade lasts too long
  • Fixed Cseq of SIP INFO error after GXP sends out PRACK
  • Fixed display name check problem
  • Fixed GXP2020 does not have account 5/6 in EXT page
  • Fixed GXP semi-attended transfer issue
  • Fixed one way audio issue after receiving INVITE with two c lines in SDP
  • Fixed LCD menu display error with “Disable Direct IP Calls”
  • Fixed LCD display error
  • Fixed phone crashes when doing Offhook Auto Dial
  • Fixed LCD display issue after blind transfer
  • Fixed wrong Timestamp in RTP Packet
  • Fixed CallerID blocking removed after 302 redirect on GXP2020 with
  • Fixed phone does not re-register after network down in certain network environment
  • Fixed no MoH GXP to GXP via 3CX, but does hear MoH when GXP calls a non GS phone
  • Fixed phone sends out INVITE with incorrect To-tag in the TO header
  • Fixed phone fails to handle "Session Attribute (a): inactive" correctly
  • Fixed phone Codec negotiation issue with 3-way conference
  • Fixed phone comes back to conversation hears busy tone
  • Fixed phone sends new INVITE with to-tag
  • Fixed incorrect Event Duration
  • Fixed regression on MSG Button when using a lengthy voicemail user ID
  • Fixed call records of GXP2020 account6 saved to phonebook error
  • Fixed phone cuts off the call if it receives NOTIFY with unsupported Event
  • Fixed no event duration on RTP packets when pressing MultiPurpose Keys using SEND DTMF RFC2833
  • Fixed request in the same dialog does not include Route Headers from previous response
  • Fixed GXP20xx phone Locks up and does not send out PRACK messages
  • Fixed SDP response is wrong if iLBC payload type is 101
  • Fixed after conversation for 10 hours, BT200 call time display is not correct
  • Fixed phone sends inactive to resume the audio call if it is in remotely held state
  • Fixed phone adds empty phonebook record automatically
  • Fixed phone does not send SIP register to Broadsoft using STUN and SIP over TCP
  • Fixed issue with processing big INVITE packets on TCP transport
  • Fixed GXP eventlist BLF issue under certain condition: LED dos not change status when a monitored phone receives calls
  • Fixed GXP crashes after receiving long NOTIFY message for eventlist BLF

  • Updated bootloader to
  • Added GXP-extend capability for customizable XML screen
  • Added LCD Menu option to configure MPK
  • Added web UI option for "Disable in-call DTMF display"
  • Added support to load XML idle screen file on reboot for GXP20xx
  • Changed registration renewal time to half of the expiration time
  • Added support to hide "ForwardAll" softkey if call feature code is disabled
  • Added support to use phonebook while offhook for GXP2010/2020
  • Added support to use Speed Dial and Re-Dial for Direct IP Calls
  • Added support for Signin automatically if there is only one callqueue
  • Added web UI option "Use custom filename" for GXP2000 and GXP2010
  • Modified BLF LED to flash when a monitored phone hears ring back tone under Broadsoft mode
  • Added web UI option to enable/disable SIP instance ID

Post your experiences here:

  • Info : I Can't seem to upgrade a phone from (h/w 0.4) to this version; the tftp server aborts all file transfers saying phone returned a transfer error. I have tried using tftpd on a Win 7 PC and then re-downloaded the firmware onto a linux server and tried from there; same result. - Linker3000

Firmware Notes (December 28, 2009)

Release Notes:

  • Fixed Phonebook Scrambles when upgrading firmware to from
  • Fixed Memory Values displayed on GXP2010 LCD after upgrading to from

  • Added LCD option to clear phonebook entries on GXPs

Firmware Notes (December 19, 2009)

Release Notes:

  • Added support for VLAN filtering
  • Added new feature: “constraint mode”

Firmware Notes (October 1, 2009)

Release Notes:

  • Fixed BT200 runs "Out-of-memory" at eth_malloc
  • Fixed Call forward indication on GXP2010/2020 doesn't look good
  • Fixed phone runs out of memory when attended transfer target is a direct IP call
  • Fixed GXP2000 sends NOTIFY request for noevent Event with empty Request-Line and To header
  • Fixed phone fails to send session refresh requests after receiving UPDATE without a Session-Expires header
  • Fixed phone has noise during line switch
  • Fixed abnormal busy tone under the G.722 voice codec
  • Fixed GXP2020: XML app key unresponsive after network problem
  • Fixed GXP sends out re-subscribe for 'presence' after subscription period expires
  • Fixed Attended Transfer fails on BT200, GXE responses 403 forbidden to REFER
  • Fixed iLBC RTP size error
  • Fixed phone automatically sends out DTMF tone
  • Fixed “End of Event” error when using DTMF RFC2833
  • Fixed GXP cannot display the caller number correctly with "P-Asserted-Identity" header in INVITE
  • Fixed GXP sends NOTIFY without from tag for dialog or presence events
  • Fixed GXP2000 loses gateway IP address after sometime if it's set to use DHCP in some particular network
  • Fixed phone logs a missed call even there is a REASON header with "SIP;cause=200"
  • Fixed GXP280 doesn't go back to idle screen after canceling a transferred call
  • Fixed GXP2020/GXP2010 fails to pick up phone calls via BLF key on the extension module
  • Fixed phone fails to reply SIP options query
  • Fixed Cseq of PRACK does not increase
  • Fixed Phonebook XML file which contains version attribute would cause GXP to crash

  • Added support for configuration via DHCP Option 66 tunnel through Option 43
  • Added support to hide "ForwardAll" softkey if call feature code is disabled for Account 1
  • Added support for HUB mode on GXP1200/GXP280
  • Added support for Call Park and Pickup feature on GXP2020/2010
  • Added support for automatically provisioning the HTTP provisioning URL via DHCP option 66
  • Added support for Call Queue feature
  • Added support for BLF "Offline" state to allow PBX to turn off BLF LED when subscribee lost registration
  • Added support for XML Application on GXP2010
  • Added support to configure Call Pickup dialing prefix
  • Added support to display MAC address in HTTP firmware upgrade request
  • Added support for Reason header in BYE requests (RFC3326)
  • Set default LCD contrast value to 10 for GXP2010 and GXP2020

Firmware Notes (5/28/2009)

Release Notes:

  • Fixed GXP loses account information after remote party that's using non-pcm codec hold/unhold the conference call
  • Fixed DTMF sent incorrectly from MPK
  • Fixed softkey is changed when LCD menu is on and headset key is pressed if it's under "toggle headset/speaker" mode
  • Fixed phone stops sending RTP leading to call drop
  • Fixed anonymous call shows phone number during transfer
  • Fixed GXP quick IP Call failed after making a direct IP call with specific port through menu
  • Fixed phone can't hear from HT502 after un-hold a SRTP call
  • Fixed GXP2000 phonebook error check is inconsistent with other GXPs
  • Fixed only G.711 codec is offered in re-invite when making 3WC
  • Fixed LPF file is not downloaded when the phone is upgrading via HTTP and the ringtone file is too big
  • Fixed mishandling of inactive attribute
  • Fixed while already in an active call, auto answer fails under BroadSoft mode
  • Fixed phone prevents n-way conference using G722
  • Fixed GXP fails to change the BLF indicator status after receiving NOTIFY without <dialog> and <state> tag
  • Fixed BLF doesn't work properly when using multiple accounts
  • Fixed phone crashes when HT502 hold and resume the call established using SRTP

  • Added support of LCD menu auto-quit on GXPs
  • Added five enhancements for Anatel project
  • Added support of session modification by UPDATE (RFC3311)
  • Added support to restart subscription upon receiving a 481
  • Added CallFwd indication on idle screen for GXP2010/2020
  • Improved SIP stack robustness for RFC4475 test cases
  • Added support for phone sending out a syslog message on receive receiving NOTIFY

Post your experiences here:

  • Minor : GXP2000 (HW 0.4), FW version Static IP Address settings not working - accepts them and everything seems fine, but it just won't register sip account (worked fine before upgrade - settings are correct). Forced to use DHCP - cshaun

Firmware Notes (2/15/2009)

Release Notes:

  • Fixed when under "Toggle Headset/Speaker" mode, a missed call will cause white noise played out through headset
  • Fixed when phone tries to attended transfer a call to an idle line, the original call can't be resumed correctly
  • Fixed there is only G.711 codec in re-invite when make 3WC
  • Fixed phone does not send out ‘Cancel’ when switching lines before a call established on Sphere SIP server
  • Fixed phone does not stop sending ‘Notify’ if they receive 481 responses
  • Fixed phone not to send ‘Register’ to after a phone call with the stun server enabled when account 2,3,4 are in use but have server fields blank
  • Fixed phones take log time to get IP through DHCP from certain FIOS route
  • Fixed phone crashes when doing call and transfer multiple times under Broadsoft mode
  • Fixed phone sends out wrong DNS SRV query when doing call and transfer under Broadsoft mode
  • Fixed phone sends out re-INVITE with wrong Contact header
  • Fixed while the LCD menu is open, if user updates the configuration web page, the softkeys get changed to onhook mode
  • Fixed dialing using speed dial under headset mode, audio does not go through headset, but speaker
  • Fixed dial plan prefix does not work when using onhook dial
  • Fixed the time format on “status” webpage does not correspond to the setting
  • Fixed when the incoming call is anonymous, LCD still shows "Anonymous" even display language is set to Chinese
  • Fixed duplicated entries can be saved in phonebook
  • Fixed when previewing different ring tone through the menu, the tone doesn’t stop when “Back” is highlighted
  • Fixed the title of diagnostic window was miss-spelled; now changed it to “Keypad/LED Diagnosis”
  • Fixed “voice_frame_per_TX” value is not used correctly by accounts other than “account 1”
  • Fixed ignored NOTIFY with x-gs-screen event when the phone is offhook
  • Fixed gratuitous ARP is not handled during the conversation phone call
  • Fixed phone keeps sending registration requests
  • Fixed PADT sent before a PPPoE session established
  • Fixed LCD display corruption when multiple keys are pressed in GXP2000 HV2.1
  • Fixed the symbol for “hardware information” is inconsistent between LCD menu and Web

  • Added "Transferred Call Log" on phone which will record the information of the transfer target
  • Modified the RLMI parser for eventlist BLF
  • Added CallFwd condition to customizable screen XML syntax
  • Modified to update DHCP ACK options on renewal, rebinding, and renewing state
  • Added support to reply with 405 for methods known but not allowed
  • Added support to reply with 420 requests that contains extensions that we do not support
  • Added support for RFC5389 STUN
  • Added PPPoE setting configurable through LCD menu
  • Added option to disable "Transfer" button
  • Removed “Ring Timeout” option out of session timer

Post your experiences here:

Comment : Upgraded phones, they are working well, audio quality seems better. No problems noticed yet. I have upgraded hv 0.3 & 0.4. - Richard

  • MAJOR After Upgrade to ( Bootlodaer ) the web frontend is dead and I haven't found a way to recover it. The phone however is doing it's job.

Firmware Notes (11/19/2008)

Release Notes:

• Fixed on GXP2000 string for SPEED DIAL keys does not display completely under Diagnostic
• Fixed GXP2000 v0.3 and some v0.4 cannot upgrade to another build
• Fixed GSM was not getting packed correctly in the RTP payload dues to byte offset, caused of
the odd size of GSM code frame
• Fixed when phone is trying to send “DNS SRV” type query, it fails to send additional “A Type” (it
sends out “empty” query)
• Fixed on GXP2000, under Chinese mode, "forward" function doesn't display properly. i.e. forward
target number won't display on LCD
• Fixed on GXP2000, under Chinese mode, during a call, press keypad many times, till it reaches
the end, and the left most digit doesn't display correctly
• Fixed phone sends UDP packet to when the NTP host name field is blank on the
configuration web page

• Fixed phone sends out driver syslog using old IP address even when new IP address acquired by
• Fixed the phone cannot regain IP address after the PPPoE server down
• Fixed CANCEL request violate RFC and sends to the wrong address
• Added multipurpose keys to be able to send DTMF during the communication state on
GXP2000/2010/2020. It is disabled by default, but it can be enabled on the web configuration
• Added support to reg-id and instance-id when we build REGISTER messages
• Added web configuration option to disable DND

Post your experiences here:

  • Major : BEWARE !!! From 7 Grandstream phones, which I flashed with the new firmware, 4 of them hang and didn't reboot, the next thing I got was a blank screen, after I unplugged them after 2 hours. These were 3 GXP-2000 and one GXP-2010. Now the only chance to restore them is to ship them to the Grandstream factory.
  • Major : I cannot upgrade. In syslog I see: ERROR 4108 GET boot55e.bin and ERROR 4108 GET gxp2000e.bin The phone is now dead. All the leds stay lit. The only way to boot is to power on with ethernet cable unplugged, but everytime I call a number the phone reboots. (HV 0.4)
  • Major : There also seems to be a problem with version regarding transfering calls using the speed dial buttons. In short, they don't work. I have down-graded my GXP2000s (HW 1.1A) to version, which seems to be stable.
  • Minor : GXP2000 (HW 0.4), FW version I tried it to see if it would brick and to see if I could get one of the new features working (send DTMF during the communication state). After downloading and installing, it does not brick but phone shows Is this because HW 0.4 must stick with FW 37? - ampster
  • Minor : GXP2010 and 2020. Call waiting tone volume cannot be heard, its volume is too low and cannot be heard during a normal voice call and there is no way to raise its volume - AgX
  • Major : GXP2010 under heavy call load will stop working almost 2 times everyday. Into the syslog there are a lot of "out of memory" errors reported by the phones. Them will also fail to re-register with the PBX and BLF button will also stop working. Outgoing calls are luckly still possible. The phones will also unable to re-subscribe BLF if asterisk service will be restarted, in that case, a Call/Leg Transcation error is reported everytime the phone tries to resubscribe. Only rebooting the phones fixes the problems. - AgX
  • Minor : GXP2000 (HW 2.2A), FW version BLF lights are not consistent with Asterisk (Elastix 1.5 beta), working for a few minutes and then becoming unreliable. I have fixed this by modifying Asterisk's chan_sip.c. The <dialog-info> contains an attribute called "version" which is supposed to increase at each message as per the RFC. With the GXP2000.... well, I have removed the ++ at the end of the p->dialogver variable (thus not increasing it) and that fixed the problem with the consistency of BLF. All the lights show up as they shold, no missed light so far, but the version attribute is always 0. I have informed Grandstream about it but no reply yet. I have also managed to modify asterisk to simulate OnHold blinking using DEVSTATE. - ady624

Firmware Notes (10/16/2008)

Release Notes:

• Fixed BT200 as transferor in a blind transfer, it will display “4” on LCD after about a minute of
busy tone after transferee sends “BYE”
• Fixed when phone is configured to use HTTP to download config file and xml phonebook, the
phonebook won’t be downloaded
• Fixed under headset toggle mode, when headset is used, onhook dialing ends with send key
switches to speaker mode
• Fixed when P342 is set to 1 in config file, the phone will keep downloading config file and
• Fixed in a call, A can’t hear B if B is using PPPoE and A is not. They can’t hear each other if both
of them are using PPPoE
• Fixed “Disable direct IP call” doesn’t work on BT200
• Fixed GXP280 would meet 1s blank display if another call comes in
• Fixed “SIP Transport” setting is not synchronized between web and LCD menu
• Fixed G.723 5.3K speed would run out of memory when DTMF is RFC2833
• Fixed softkey doesn’t work for phonebook on GXP1200 and GXP280
• Fixed BT200 keypad freeze after reboot when using static IP
• Fixed softkey for name edit window on GXP280 and GXP1200 can’t display properly after certain
• Fixed GXP280 and GXP1200 will freeze if off-hook while editing phonebook entry
• Fixed on GXP280 and GXP1200, conversation time on LCD would return to 0 after about 18
• Fixed we failed to get IP address when the PPPoE server not setting a DNS
• Fixed bad audio quality if callee select its first choice to iLBC but negotiate with G.726
• Fixed GXP280 and GXP1200 don’t show name edit window correctly after coming back to menu
from phonebook window
• Fixed on BT200, GXP280 and GXP1200, MIC muted for first direct IP call after factory reset
• Fixed no busy tone play with "486 BUSY" under Asterisk
• Fixed “Out of memory” after download 200 records phonebook via TFTP
• Fixed phone crashes when switch audio payload type from PCMU to G.729
• Fixed to update the screen immediately after DEL/MUTE key pressed in onhook dialing
• Fixed IP address corrupted with Gateway Address when we lost IP address due to DHCP
renewal failure
GRANDSTREAM NETWORKS Release Notes for F/W 10/2008
• Fixed on GXPs, call drop issue related to accounts not registering and use random port
• Fixed when GXP280 sends out re-invite with "sendrecv" when press TRNF
• Fixed "Local RTP port" can be set to the number which is not within the range "1024-65535"; now allowed range is “1024-65500” and must be even number
• Fixed SUBSCRIBE for MWI failed when register expiration time is shorter then subscribe time
• Fixed if firmware server address is invalid, the phone will still keep retrying
• Fixed if the STUN server address is invalid, the phone floods out DNS queries
• Fixed GXP1200 incorrect display when another call comes
• Fixed phone may freeze when local RTP is set to 6000 and Syslog is enabled
• Fixed BT200v2 lose IP problem
• Fixed IP address corrupted with Gateway Address when we lost IP address due to DHCP renewal failure
• Fixed call drop issue related to accounts not registering and use random port (N/A to BT200)
• Fixed BT200 SIP Transport (UDP/TCP) not locked in MENU when “Lock Keypad Update” is enabled
• Fixed XML Application Frozen because a variable failed to deallocate
• Fixed quitting Xml application quickly will cause the application to reappear
• Fixed random characters on xml application softkey label
• Fixed XML Application froze due to callIdPrefix is not reseted when the xml application exits
• Fixed pressing softkey multiple times for HTTP GET caused session overlap
• Fixed the LCD keeps showing “FLASHING” when it is actually not after trying to download config file
• Fixed for GXP1200, when there are two lines in use, and when the second line got “486 Busy” or “408 Time Out”, the bottom of the number is chopped a little by the softkey region
• Fixed upon request, for bt200, stop turning on lcd backlight when it's doing a periodic configuration/firmware upgrade.
• Fixed multiple audio media description that does not get accepted is not set to port 0 in SDP response
• Fixed multiple audio media description cause some attributes to be overwritten by the last m
• Fixed half display in LCD option of “LDAP select filter ”
• Fixed after caller terminates the call and callee,B, doesn’t hang up, while B is hearing busy tone, a new call comes in, then the new line info on GXP1200 lcd overlaps with previous terminated call info.
• Fixed when phone is configured using static IP, it will still send DNS query even though the DNS server IP is
• Fixed BT200 (2.1HW) mute the speaker ringer not working
• Fixed upgrade IP showed incorrectly on LCD
• Fixed user id wasn't attached to URI when setting "presence watcher" in Ext1 and Ex2
• Fixed phonebook will freeze with 300+ records
• Fixed we failed to do the "Diagnostic Mode" for speed dial key 8-18
• Fixed audio glitches
• Fixed bt200 factory reset reboot cycle
• Fixed GXP2000 V0.4A hardware unable to reboot
• Fixed LCD display turn to reversed
• Fixed static IP, netmask, and gateway configuration don’t take dot-decimal format input
• Fixed our products fail to pass PROTOS c07-sip test
• Fixed we do not follow 301 redirect response for REGISTER
• Fixed GXP 1200 crashes after uploading template config file
• Fixed for all BTs: G.722 clock rate wrong in SDP
• Fixed GXP2000/GXP2010/GXP2020: BLF not update with latest notify
• Fixed re-subscription issue after a 481 response
• Fixed “Close” PUBLISH state changed to “Open” automatically after re-register
• Fixed we send wrong DNS when downloading directory with LDAP server path blank
• Fixed empty contact element cause duplicate copy
• Fixed Grandstream web UI does not check for hidden script inclusion
• Fixed phone will hang when receive 403 respond in Re-INVITE
GRANDSTREAM NETWORKS Release Notes for F/W 10/2008
• Fixes auto reboot issues
• Fixed cannot ping the phone from diffrerent network segment
• Removed “Ethernet Loopback” function from LCD menu
• For GXP280, GXP1200, GXP2010, and GXP2020, added config option for headset key so that it
can work in either old scheme or a new added scheme that will use the headset key to toggle
between speaker and headset (enable or disable headset mode). When the phone is using new
scheme and the headset mode is enabled, speaker key, line key, or softkey can be used to
answer or make calls; everything will go through headset. And while handset is picked up,
speaker key can be used to toggle between handset and headset.
• Added "DND" feature on BT200. When mute/del key is pressed while phone is idle, "DND" will
show on LCD instead of date, and no phone call will come in
• Changed "Received Calls" to "Answered Calls"
• Changed the term "default route" on web config page to "Gateway"
• Added feature that DNS server can be configured through LCD menu
• Send flash event radio button taken out from BT200 and GXP280 restored as well as its
functionality. The radio button is on the advanced configuration page at the bottom
• Added ring timeout setting

• Added RFC3389/g711 Appendix II Comfort Noise support
• Make GXP MSG light keep blinking when using the phone (if VM exists)
• Change BT200 to not turn on LCD backlight during periodical config/firmware upgrade
• Added new option to disable direct IP call
• Added new option to disable 3 way conference
• Updated RTP's destination mac address when the arp table is updated
• Increased XML parser capacity
• GXP2000/GXP2010/GXP2020: To allow XML Idle Screen download periodically or base on
• Updated BT200, GXP1200 handset tx gain to 29dB.
• Modified LDAP filter value for GXPs except GXP2000 to use softkeys.
• Updated BT200v2 audio gains to match BT200v1.
• Change the display format for static IP, netmask and gateway in dot-format in order to be
consistent with the input
• Added SRTP Optional support
• GXP2020: Add Syslog for XML app GET and response
• Abort DNS retries once a "No such name" response is received
• Added SIP registration if the phone gets a new IP even after DHCP request to renew lease time
does not get a response

Post your experiences here:

  • Major : Either I'm retarded or the firmware update is missing for the GXP2000. Unzipped Release_BT200_GXP_1.1.6.37.zip (The file for GXP2000 according to the firmware download site) and the gxp2000*.bin files have modification dates in 2007. Additionally with the phone set for always check for new firmware on boot it does not see a new revision above current I tried both a local TFTP server and the Grandstream on multiple phones?? HW1.1 and 0.4 -p
  • Major : I've the same problem: I can't upgrade because the phone looks for a file named gxp2000e.bin that's not in the archive. HV 1.1A
  • Comment : Sorry, I don't understand what's gone wrong for you. I downloaded the package from the Grandstream site, and it DOES contain gxp2000e.bin (NOT gxp200e.bin - no such file required, despite previous comment) dated 10-15-2008. My GXP2000s upgraded just fine, but most (all?) of the BT200s required a manual power-cycle (unplug power - wait a few secs - plug back in) after they attempted the upgrade.
  • Major : I'm sorry for the type (corrected), I really meant gxp2000e.bin. Anyway I can assure you that that file is NOT present in the archive, here is the complete list of files:
boot55a.bin boot55c.bin boot55e.bin bt200e.bin gxp2000a.bin gxp2000d.bin gxp2020d.bin ring3.bin boot55b.bin boot55d.bin bt200c.bin gxp1200d.bin gxp2000b.bin gxp2010d.bin gxp2020e.bin ring1.bin boot55.bin boot55e16.bin bt200d.bin gxp1200e.bin gxp2000c.bin gxp2010e.bin gxp280e.bin ring2.bin
and as you can see there are bt200e.bin, gxp1200e.bin, gxp2010e.bin, gxp2020e.bin, gxp280e.bin but no gxp2000e.bin.
  • Comment : Isn't that interesting? The archive I downloaded a week ago is 13,635 Kbytes, and contains the file in question; the zip file - of the same name as the one I got last week - now on the Grandstream website is only 12K bytes, and does NOT contain gxp2000e.bin, as you rightly say. Perhaps Grandstream corrected something in the original, but then stuffed up by leaving this file out when they re-posted it. Something like that, anyway. Oh, they do try one's patience!
  • Major : I have had a reply from Grandstream:
"Thanks for your email. But we take the files for GXP2000 to upgrade since we find a bug in that firmware. We will release a fix pretty soon."
So gxp2000e was deliberately removed from the archive because of a bug. We'll just have to be patient ...

Firmware Notes

Release Notes:

Build (03/14/2008)
• Fix GXP 4+ way conference does not terminate correctly when an incoming call comes in
• Fix IP fragmentation memory alignment cause memories overwritten
• Fix Ethernet MTU is not sufficient causing memories overwritten
• Fix Incoming INVITE contains "image" media (T.38) causes the GXP2000 to reject the call.
• Fix web page access issue after ethernet loopback test abnormal exit
• Change "Cancel" to "Back" in menu->config->upgrade for consistency
• Fix gxp2020/2010 register fail by LCD setting for account 2+
• Fix Picking up incoming call using handset while the phone is in busy tone will not pick up the call
• Fix Pressing Send to dial when a phone is sounding the busy tone will cause undefined behavior
• Fix PageUp/Down key not take effect under some LCD option
• Fix gxp2020/2010 register fail by LCD setting
• Fix Softkey automatically switch to onhook mode and GXP1200 "backspace" display issue
• Fix Blind transfer Delete invalid issue
• Fix Canceling blind transfer after input issue
• Fix New line in IM will cause the IM display list to be incorrect
• Fix Periodic Phonebook download cause incall audio interruptions
• Added Feature request : support URI in phone book
• Forced Redraw of phonebook synchronization status for GXP2000 and GXP1200
• GXP2020: XML Phone book download cause freeze
• Forced Redraw of phonebook synchronization status
• Fixed we fail to retransmit TCP packets (the retransmitted packet is malformed)
• Fixed DHCP client does not comply with the 300 bytes minimum UDP payload requirement
• Fixed false link-down report causing intermittent firmware upgrade failure
• Added display for current time in WEB UI Status Page
• Added HW revision to WEB UI Status Page in the Model section
• Added backspace soft key for text boxes in MENU
• Added GXP2010/2020 allow DND to be activated during ringing state via DND mode
• All GXP2010/2020 MENU textboxes use soft key control for OK/Cancel instead of the GUI buttons which require you to navigate and press MENU key.
• Fixed GXP re-SUBSCRIBE uses To-tag from wrong server response
• Fixed GXP fails to comply with 412 response for PUBLISH
• Fixed non-GXP2010 model may fall into reboot-loop when the configuration file contains parameters for speed dial keys 8-18
• Fixed BT200 does not show middle dot in IP address display mode
• Fixed remote disconnect an auto-answered call causes no dial tone when handset goes off-hook the next time
• Fixed on-hook dialing used wrong account when it goes off-hook
• Fixed blind-transfer fail problem when server is in the same LAN
• Fixed call park problem with Pingtel platform
• Fixed BT200 drops call after 30 seconds of “Call-On-Hold/On-hook” state
• Fixed Venezuela time zone change (from GMT +4:30) to GMT -4:30
• Fixed we send DNS request to invalid address (IP address) for NTP server
• Fixed we do not send NTP request if no NTP server is configured but "Allow DHCP Option 42 to override NTP server" is set to Yes and Option 42 is present
• Fixed GXP auto answer issue
• Fixed GXP will crash when new instant message arrives if system ran out of memory
• Added we will reject MESSAGE requests that have Content-Type other than "text/plain"
• Fixed GXP display bug when trying to save contact item in Call History to phonebook and edit Account selection
• Fixed one-way audio after a failed transfer
• Added support for call-pickup without call tags
• Added Ethernet packet filter to protect against flood lock up
• Fixed GXP2010/2020 LCD backlight issue after setting to 8/8
• Addressed the memory leak issue associated with the notify messages for call pickup
• Added softkeys to handle call-waiting
• Fixed we sent SUBSCRIBE as "Anonymous" incorrectly when Account 1 has Anonymous on
• Fixed GXP2010 does not support fonts f13h, f13b, f16, f16b in customized idle screen
• Fixed *50 invalid issue
• Decoupled key scanning from DTMF tone playout
• Added support for new Venezuela time zone
• Fixed GXP2010 BLF pick up does not work with multipurpose key 10-18
• Fixed GXP2010 web UI missing "Disable Missed Call Backlight" option
• Fixed a few memory leaks in XML application
• Fixed call-pickup cannot pickup multiple calls
• Added configurable headset gain
• Enabled broadcast storm protection, fixed out-of-memory problem associated with GXP1200/2010 and network down issue
• Fixed GXP2010 one-way audio problem
• Fixed BT200 attended transfer holds/refers wrong party
• Added support for half attended transfer for BT200
• Support for mute in 3WC, also fixing a muted session gets unmute by remote party hold/unhold
• Fixed call ring back tone disappears in specific scenario
• Fixed phone will crash if selected ring file in MENU is over 64k
• Fixed GXP2010/2020 in-call DTMF display over-run when "#" is used
• Fixed Call-Info header value not compliant to RFC3261
• Fixed SRTP issue when receiving 183 before 407
• Fixed we do not include To-tag in SUBSCRIBE renewals, fixing Out-of-memory on GXP2010
• Fixed we will not release SIP channels when SUBSCRIBE requests gets timed out without response eventually exhaust all available channels
• Fixed GXP2000 does not allow WEB UI EXT1/EXT2 page access when logged in as end user
• Increased parser limit from 800 to 32768 for tone generator values
• Support for displaying missed calls during customized idle screen
• Fixed syslog sends "deletion of invalid timer" each time NTP response is received during NTP resync.
• Removed ":" in MENU->Config->SIP->SIP Proxy/SIP Transport
• Fixed we will crash when phone is configured to use SIP over TCP and server does not respond
• Fixed GXP2020/2010/1200 Mute Speaker in Headset Mode
• Supports Intercom Button
• Changed multi language configuration interface

Post your experiences here:
  • Minor: Language Packs in the GXP2020 doesn't resolve the accent problem in Italian Language- lfelicetti
  • Intermediate : If i put P342=1 on TFTP provisoning Config the phone goes in an infinite reboot loop cycle. Removing P342 or setting it to 0 resolve the issue, but can't change language on phone. Any Suggestion? - lfelicetti
    • Try this Solution: Try to set P342=2. Works for me. - lfelicetti
  • Major : After picking up a call using the gxp-2000's "Busy Lamp Feature", a subsequent transfer of this call will fail (under asterisk). This is due to the gxp-2000 incorrectly leaving the "replaces" header from the initial pickup in the sip re-invite to put the call on hold as the transfer takes place.
  • Intermediate : Setting a Mutipurpose key to "Speed Dial"/"Account2"/<number> tries to make the call using Account 1 - Linker3000
  • Minor : Accents in language packs don't work in the menu - Snipe Foo
    • confirmed: the italian language pack is unusable, all accents are with strange characters. For example the days of the week are full of errors. And i think is not a minor bug, but a mayor. The first thing that a user look on a idle phone is the display...- francesco_r
      • resolved: the last language pack available in http://www.grandstream.com/DOWNLOAD/FIRMWARE/BT200_GXP1200_GXP2000_GXP2010_GXP2020/Language_Pack.zip correct this issue. - francesco_r
      • resolved: the last language pack corrected the issue for French too. For me it was a minor bug because users could still use English language, as they did for almost 3 years...- Snipe Foo
  • Major : If i stop and restart the asterisk server, the BLF subscriptions are not update after the registration period. I must also reboot all the phones to make BLFs work again.- francesco_r
    • The comment above is not true, obiovusly this user does not how to configure asterisk and this phone...- AntonioGallo
      • Antonio you are wrong. I have retested and i can confirm this bug, but -only- with Asterisk 1.4.19. instead works well. So there is an incompatibility with asterisk 1.4.19. Other phones, like Aastra, Snom and Thomson on the same server with asterisk 1.4.19 works well. Also GXP2000 with version and asterisk 1.4.19 works well, so there is something wrong with this release. - francesco_r
      • UPDATE 19/04/2008: the BLF get lost after some days without the asterisk restart. And the Asterisk version is not relevant. If i enable a sip debug in the log i can see "481 Call/Transaction Does Not Exist". Phones with version are not affected by this bug. Also other users not using asterisk have the same problem: http://www.3cx.com/forums/gxp-2020-blf---bug-in-firmware-4929.html . - francesco_r
        • resolved: i have installed the unofficial release and no more issues with BLF. - francesco_r
        • unresolved: with Release_1.1.6.27.zip I still have problem, I have 28 gxp-2000 (8 with extension) and random some led stop to work: I see the green status, the blinking status, but when I see the "inuse" message on asterisk console the status led on the gxp-2000 with extension return to green; the same problem does not happen on the 7 integrated led but only on the extension; the extension ship with the patch to the gxp-2000 and with the power-supply, since I notice that the patch give the power to the extension I didn't use the power supply, I must use it anyway? - andrea_n
  • Minor : Having occasional sound blackuots 5-10 seconds one way or two way (not sure yet if both) and also more than normal cut off calls. Suspect sound cut off only (RTP stream something). I would like to downgrade back to which has worked well (HW1.1A) but when trying, the phone requests boot55e.bin which is not there in the previous release. Haven't had the guts to just copy that file over (from as I can't afford to brick my phone...- Carlottoo
    • Update: I haven't had any cut off calls for a while, but the blackouts are there. I can't hear the other party for about 5 secs, i think they can hear me in most cases. I might have hung up in the past believing the call was cut off. Doesn't happen that often so I can live with it for now...-
    • I've noticed that setting type=peer and qualify=no seems to help - Pennywell
  • Major : A 16 months old GXP2000 phone stopped to work after upgrading to this firmware. Now the phone is locked into a constant rebooting, sometimes it start up but when you connect it with the PC cable it start rebooting again. Most recent phones are working perfectly and we're moving all the phones to this firmware soon. - AntonioGallo
    • I had the same issue with about half of my phones, but you can stop the rebooting cycle after the firmware has been applied and uploaded by disconnecting the phones for about 30 seconds. The phone normally seems to perform the update in two parts, so at a minimum the phone should restart twice before this will work. Since then I haven't had any major issues with them yet. - Carmen
  • Comment: This firmware rocks. After waiting impatiently for years all of my problems (even the minor ones) from previous firmwares seem to be gone. HV 1.1A. -p
  • Minor : If I set the default callerid in sip.conf to something with a space in it (such as callerid=CallerID Unavailable) then call a GXP-2000 from the Asterisk console, the GXP-2000 cannot transfer the call. If I remove the space (such as callerid=Unavailable) the same call transfers fine. I have tried both dialling the destination extension manually and using the BLF keys - same problem. - drew_w
  • Minor : As in version 1.1.5.* there is some MTU problem and I can't access phones via VPN (OpenVPN). Older releases worked fine. Error in OpenVPN log is '"write UDPv4 [EMSGSIZE Path-MTU=1500]: Message too long (code=90)"' - Dusty
  • Minor : French language pack contain a lot of wrong words. For example : "Bottin" should be "Annuaire" and "Nouvel entrée" should be "Nouvelle entrée". - Snipe Foo
  • Comment: This firmware really rocks. I've been following Grandstream firmware developpement since a long time and after waiting impatiently for years all of my problems (even the minor ones) from previous firmwares seem to be gone.
  • Minor :Early dial does not work with asterisk 1.2.13 with GXP-2000 (HV 0.4A) and GXP-2020 (HV 0.2C) on firmware
  • Minor : If phonebook exeedes 16kB, sh*t happends. Confirmed by Grandstream. Suggested workaround: Delete some entrys - Bad2Dbone
  • Major : A 2 year old GXP2000 phone reboots every time I hit the MSG key (code *1) after upgrading to this firmware. If I dial *1 then the mailbox is accessed correctly. Reducing the XML phonebook size to about 8k didn't make any difference. - adw

Firmware Notes

Moved to http://www.voip-info.org/wiki/view/Grandstream+GXP2000+Firmware+Archives

Feature Requests

Moved to http://www.voip-info.org/wiki/view/GXP2000+Feature+Requests

Download Firmware

Moved to http://www.voip-info.org/wiki/view/Grandstream+GXP2000+Firmware+Archives

Instructions to Upgrade a GXP-2000 to Firmware version using Linux - gammacoder

Watch out for upgrading via HTTP. Although it worked for me, I've heard of a continual reboot loop until the .bin files are removed from the HTTP server. I've had success upgrading via TFTP following these steps:

  • On your Linux Box (Make sure you have a tftp server installed, the package for Fedora/Redhat is 'tftp-server')
    • cd /tftpboot (or your tftp server root directory)
    • wget http://www.grandstream.com/BETATEST/GXP2000/Release_1.0.2.3_GXP2000.zip
    • unzip Release_1.0.2.3_GXP2000.zip
    • /usr/sbin/tcpdump port tftp (to watch tftp requests from the phone)

  • Point your webserver to http://ip.add.dr.ess from the phone's front panel
    • Login with the administrator password
    • Advanced Settings: set Firmware Upgrade: Via TFTP Server and set the IP address to your TFTP server
    • Click Update
    • Click Reboot

  • Watch tcpdump, you'll see requests for
    • boot55.bin
      • If it hangs here for more than 10 seconds, pull power and reboot.
      • On the phone's Web Interface, under Status, you'll have Bootloader--
      • Reboot the phone from the web interface one more time
    • boot55a.bin
    • boot55a.bin (again)
    • gxp2000a.bin
    • cfgxxxxxxxxxxxx (where xxxxxxxxxxxx is the MAC address)
    • cfg.txt

  • The phone boots up, then runs through the new provisioning code. In tcpdump, you'll see:o
    • cfgxxxxxxxxxxxx (again)
    • boot55a.bin
    • gxp2000a.bin
    • ring1.bin
    • ring2.bin
    • ring3.bin

GXP-2000 central updating TFTP server (GXP-2000 firmware v1.0.1.9)

  • The first time you have to enter the TFTP server-IP in your phone through the web interface, as of then it will always look for the cfg file on the TFTP server.
  • On grandstream.com you find the Configuration Tool, you need this to convert the config file to the correct format. A config template can be found on that page also.
  • My cfg file is called cfg<mac-addr> and is placed in the tftp dir. If you have multiple phones, you need multiple cfg files.
  • Here is what I have changed from the default template:

  1. SIP Server
P47 = <SIP-server-IP>
  1. SIP User ID (200 is used as an example!)

P35 = 200
  1. Authentication ID

P36 = 200
  1. Authentication password

P34 = 200
  1. NAT Traversal. 0 - yes, 1 - no
P52 = 1
  1. TFTP Server (for remote software upgrade and configuration)
  2. For firmware version and above)
  3. P213 =
  4. make sure you choose the next one:
  5. TFTP Server (for remote software upgrade and configuration)
  6. For firmware version below
P41 = <TFTP-server-IP>
  1. "Account Name" in the webinterface for the 1st account
P270 = My Account Name
  1. SIP Registration. 0 - no, 1 - yes
P31 = 1
  1. Unregister On Reboot. 0 - no, 1 - yes
P81 = 1
  1. NTP Server
P30 = <NTP-server-IP>
  1. Time Zone. Offset in minutes to GMT (780 = brussels/paris/..)
P64 = 780
  1. Daylight Savings Time. 0 - no, 1 - yes
P75 = 1
  1. User Caller Name (John Doe)
P3 = Firstname
  1. Send DTMF. 0 - in audio 1 - via RTP 2 - via SIP INFO | set to 2 for Grandstream!
P73 = 2

  • After creating your config file, you need to convert it with the Configuration Tool and make them available on your TFTP server. (filename syntax: cfg000b8201XXXX)

Configuration Files Generator Tool for WINDOWS http://sourceforge.net/projects/provisioning/

The generator tool may create encrypted files. If you should need to convert these back into readable files, use this perl script:

In case it should be of any use to anybody, here's a perl implementation of the config file generation:

Update and Modify a GXP-2000 from the command line

(Jun/06), there is a sourceforge web site
which contains a perl script for manipulating all aspects of a GXP-2000 phone from the command line
knowing only the phone IP number. It is relatively easy to change the perl script as the firmware is upgraded.

Modifying the script

  • Here is a modified perl script gsutil.txt that I believe works with firmware up to and including It has a .txt ending since the wiki does not accept .pl

  • (Jul 19/06) It works with also but does not have the new bells and whistles for the extension unit, or some info to make adjusted parameters such as BLF presence work.

  • (Jul 26/06) Here is a modified gsutil.txt with the added info needed for the extension unit and firmware

Configuring the GXP-2000

To use the perl script in conjunction with the configuration template, you can use
a shell script such as:

and an edited template file such as

The command to generate a configuration file for an extension is then:

/bin/bash genxxx.txt XXX

where XXX is the extension number. It is assumed that the extension number is the same
as the last numeric part of the ip number.

The edited template file uses an asterisk server ip of
and a router ip of You may change to suit your taste.

Configuration template files

Configuration template files for:

  • Firmware Version

  • Firmware Version

  • Firmware Version

  • These were emailed to me directly from Grandstream some months ago. Others may find these useful.

  • I would really like to make each of the firmware version configuration templates files available here, but I do not have them. Can anyone provide more?

- Anthony

Created by: linker3000, Last modification: Wed 13 of Jun, 2012 (06:09) by admin
Please update this page with new information, just login and click on the "Edit" or "Discussion" tab. Get a free login here: Register Thanks! - Find us on Google+