I've been working to try and add the following fields so that they show up when a user does a GAL Search in Zimbra.

Work Phone
Mobile Phone
Work Fax
Phone Notes

The first thing to check is that you are using port 389 for your LDAP search to the AD server. Initially, I was using port 3268 and I was only able to get username, email, and work phone.

This is configured in "Configure GAL" when you click on the domain in the Zimbra web administration console.

This post helped me get more details and learn why I needed to use port 389.

However, I still could not get the department or the phone notes fields in the Active Directory Users and Groups Management console to show up in Zimbra. Other fields such as mobile phone, address, country were coming through fine.

I had to perform the following commands to re-map some of the attributes. Note, I had to do this for each domain, as initially when I did it for the server, the domains still had their own configuration.

By default, Zimbra maps these fields for department and notes, but they don't correspond to the correct fields in Active Direcotry:
However, you need to change them to this:
Here's how:

This command shows the zimbraGalLdapAttr for your server
/opt/zimbra/bin/zmprov gacf|grep zimbraGalLdapAttr
This command shows the zimbraGalLdapAttr for domain1.com
zmprov gd domain1.com | grep -i zimbraGalLdapAttr
If you only have one domain, you can just re-map for the server with these commands:
zmprov mcf -zimbraGalLdapAttrMap ou=department
zmprov mcf +zimbraGalLdapAttrMap department=department
zmprov mcf -zimbraGalLdapAttrMap description=notes
zmprov mcf +zimbraGalLdapAttrMap info=notes
If you have more than one domain, you need to use these commands for each domain.
zmprov md domain1.com -zimbraGalLdapAttrMap ou=department
zmprov md domain1.com +zimbraGalLdapAttrMap department=department
zmprov md domain1.com -zimbraGalLdapAttrMap description=notes
zmprov md domain1.com +zimbraGalLdapAttrMap info=notes
I also noticed that when I modified an entry in Active Directory that it was not updating in Zimbra.

So you need to force update.
zmgsautil forcesync -a galsynch@domain1.com -n internalldap
In the command above the galsynch@domain1.com is an account that exists in Zimbra (NOT ACTIVE DIRECTORY). You specify this as the synch account to use in the "Configure GAL" option. Also "internalldap" is a name you define in the GAL Configuration. You can also specify the frequency of update, but found that when I was testing that it was not updating fast enough for my changes/tweaks/testing, so I had to force the synch.

I hope this helps someone. It's not at all obvious according to the documentation.