Solved Can't make changes to T46G after 15.5 update

Discussion in '3CX Phone System - General' started by GDInc, Apr 9, 2018.

Thread Status:
Not open for further replies.
  1. GDInc

    Joined:
    Apr 9, 2018
    Messages:
    5
    Likes Received:
    2
    We recently updated to 15.5 and now, for some reason, we cannot make any changes to our Yealink T46G phones without getting an error. This includes forward, VM, options, etc... Anytime we try to make a change, we get the error I've pasted at the bottom. To my knowledge (I'm still new to this phone system), we haven't used any custom templates. Any ideas on what to try?

    System.NullReferenceException: Object reference not set to an instance of an object.
    at TCX.Configuration.Templates.LocalPhoneDevice.SetDynamicOptionValue(BaseOption option, Object value)
    at ConfigurationManagementModel.CfgTemplateInfo.SetPhoneVlanInfo(PhoneDeviceVlanType type, LocalPhoneDevice phoneDevice, PhoneDeviceVlanInfo info)
    at ConfigurationManagementModel.CfgTemplateInfo.SaveInfoToPhoneDevice(PhoneDeviceInfo info, PhoneDevice phoneDevice, Extension extension)
    at ConfigurationManagementModel.PhoneDeviceInfoExtension.SetPhoneDeviceInfos(Extension ex, PhoneDeviceInfo[] infos, ICfgTemplateInfoProvider templateInfoProvider)
    at ConfigurationManagementModel.CfgExtensionEditor.Serialize_AfterSerialize(Object sender, SerializeEventArgs e)
    at ConfigurationManagementModel.PropertySerializer.FireAfterSerialize(ICfgItemInternal cfgItem, Boolean save)
    at ConfigurationManagementModel.PropertySerializer.Serialize(ICfgItemInternal cfgItem, SerializeParameters serializeParameters)
    at ConfigurationManagementModel.CfgItemBase.Save()
    at ManagementConsoleJS.Services.Editor.Save()
    at ManagementConsoleJS.Services.EditorService.SaveActiveObject(Int32 id)
    at ManagementConsoleJS.Controllers.EditController.Save(Int32 id)
    at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.d__12.MoveNext()
    --- End of stack trace from previous location where exception was thrown ---
    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
    at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.d__10.MoveNext()
    --- End of stack trace from previous location where exception was thrown ---
    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
    at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.Rethrow(ActionExecutedContext context)
    at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
    at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.d__14.MoveNext()
    --- End of stack trace from previous location where exception was thrown ---
    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
    at Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.d__22.MoveNext()
    --- End of stack trace from previous location where exception was thrown ---
    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
    at Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.Rethrow(ResourceExecutedContext context)
    at Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
    at Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.d__17.MoveNext()
    --- End of stack trace from previous location where exception was thrown ---
    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
    at Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.d__15.MoveNext()
    --- End of stack trace from previous location where exception was thrown ---
    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
    at Microsoft.AspNetCore.Builder.RouterMiddleware.d__4.MoveNext()
    --- End of stack trace from previous location where exception was thrown ---
    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
    at ManagementConsoleJS.Middleware.ExceptionWrapperMiddleware.d__3.MoveNext()
     
  2. eddv123

    eddv123 Active Member

    Joined:
    Aug 15, 2017
    Messages:
    668
    Likes Received:
    104
    Hi GDInc,

    Please outline what changes you are trying to make - are we talking manual changes in the phones themselves or on 3CX (such as a BLF change for example) ?

    What firmware are you running on these Yealinks also ? and please outline what Service pack on 3CX you have on this system ? The T46G's are EOL phones now and have been replaced by the "S" variant so maybe sensitive to firmware.
     
  3. GDInc

    Joined:
    Apr 9, 2018
    Messages:
    5
    Likes Received:
    2
    Changes are on the 3CX web interface.
    Firmware 28.82.0.20 on the Yealinks
    Service Pack for 3CX: 15.5.10244.4
     
  4. craigreilly

    craigreilly Well-Known Member

    Joined:
    Feb 1, 2012
    Messages:
    2,795
    Likes Received:
    132
    Have you tried removing the phone from the provisioning tab, and re-adding it?
    I have a 48g online using standard template without issue. Wouldn't expect the 46 to be much different.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  5. GDInc

    Joined:
    Apr 9, 2018
    Messages:
    5
    Likes Received:
    2
    Well, like I said, I'm new to the system. :)

    There were custom templates I didn't know about. I removed all of the templates in C:\ProgramsData, restarted the management console, and all is good now.
     
    YiannisH_3CX likes this.
  6. eddv123

    eddv123 Active Member

    Joined:
    Aug 15, 2017
    Messages:
    668
    Likes Received:
    104
    I would (as a test) since you are running the very latest version of 3CX which supports this feature try going to: Settings >> Phone/client options.

    And enabling the feature "Allow alternative firmwares (i.e. localized/3rd party firmware other default 3CX supported firmware)"

    Re-adding (as said by craigreilly) and/or recreating the extension also would be steps you could try.
     
  7. eddv123

    eddv123 Active Member

    Joined:
    Aug 15, 2017
    Messages:
    668
    Likes Received:
    104
    OK fixed, ignore my last.

    Just ensure that those custom templates weren't in place for a specific reason, and thus moving may remove a feature that they were created for.
     
  8. GDInc

    Joined:
    Apr 9, 2018
    Messages:
    5
    Likes Received:
    2
    Is there a way I can tell if a phone is using a custom template or not?

    For the phones we had issues with, I looked under "Phone Provisioning" and "Your Phones" and it has "Yealink T46" listed. But, when I looked inside all of the .ph files, I didn't see any that say <name>Yealink T46</name>. The closest I found was <name>Yealink T46/T48</name>.
     
  9. eddv123

    eddv123 Active Member

    Joined:
    Aug 15, 2017
    Messages:
    668
    Likes Received:
    104
    Yes, 3CX have made this very easy now. It should appear in your phones list in red text with custom template written on it.

    Also under the extension itself >> Provisioning. It will tell you what template has been used here. I am assuming however that when these custom templates were created they were given a recognizable name so as to separate them from the standard templates in the system.

    "YealinkT46G_Custom" for example.
     
  10. GDInc

    Joined:
    Apr 9, 2018
    Messages:
    5
    Likes Received:
    2
    That does make it very easy. Just to be safe, I copied all of the templates back in and restarted the management console. Luckily, it looks like just one 1 phone was using a template. I left that one template in, removed the rest, and restarted the console. Looks like we are all set now!

    Thanks for the super quick help!!
     
    craigreilly likes this.
Thread Status:
Not open for further replies.