Call Control API stopped working after update to version 16.0.6.641

Status
Not open for further replies.

Gioal

Titanium Partner
Advanced Certified
Joined
Nov 9, 2017
Messages
128
Reaction score
50
Did anyone notice that after update to version 16.0.6.641 the call control api stopped working?

Trying run the api control application I get he follow:

Unhandled Exception: System.NullReferenceException: Object reference not set to an instance of an object.
at System.SpanHelpers.IndexOf(Byte& searchSpace, Byte value, Int32 length)
at System.String.Ctor(SByte* value)
at System.StubHelpers.CSTRMarshaler.ConvertToManaged(IntPtr cstr)
Aborted
 
The same problem started to occur this morning with our customer
 
It would be great if 3CX gives us an info about this, I know that Call Control API is not supported anymore but it was in the beginning of V16.

3CX, Call Control API is blocked?

Sad because a lot of customer solutions are based on this and now we need to choose another player to solve this.
 
We also have a bunch of clients which use our solution based on 3CX Call Control API. I think that it is very bad experience to make this API obsolete in such way. I hope 3CX Support will provide us with support ASAP.
 
@Gioal, I have good news for you! And it was so obvious)) Our team have just resolved problem by just copying 3CX's new dll's to application folder (saying briefly, just change your old dlls).
 
  • Like
Reactions: Gioal
So strange because I verified the dll date and it not changed.

I will try this and report you.

Thanks
 
@agile10 all working here.

Thanks for your help.

bye
 
  • Like
Reactions: agile10
Hello everyone,

About the CallControl API, I just would like to explain that this API is not just something that exists for 3rd-party integrations. It's primary purpose is for internal use by other 3CX services and is an integral part of the 3CX core.
This means that occasionally there will be changes to the CallControl API in updates, usually not major, but changes nonetheless.

As the CallControl API is not something officially made public, and in conjunction with the above, in advance notice will not necessarily be given.
This we try to make clear whenever we give the API out with the following statement:
Disclaimer:
3CX has no obligations in supporting, troubleshooting or maintaining this API and can change and/or discontinue this API without any prior notice.
You, the 3CX Partners, accept with this email, all the above conditions and carry all liabilities towards the customers forth-going.

The advice we can give is the following:
  • DO NOT copy the assemblies into your own application's folder, instead make references to the PBX binary folder.
  • Rebuild your application using the latest object model assemblies and target .NET Core 3.1.4
  • This is probably the most important one. Check your applications on the Alpha and Beta releases of an Update! There is usually an Alpha at least 2-3 weeks before the final release of an Update.
 
Last edited:
@NickD_3CX thanks for your reply and your advice.

Changing the object model assemblies maked my application operational again. I will follow this advice.

I understand 3CX position on API but there is some customer solutions that need something deep in code to work. For example a JSON sent from 3CX to 3rd party server every time a call is answered. This JSON must have information about extension, call date and time, record file name... is there another way to get this instead of using call control API?

3CX have a powerfull tool where you can do anything if you want to code and this is a big advantage over the other players.
 
  • Like
Reactions: NickD_3CX
@NickD_3CX, thank you for useful information! But I agree with the points @Gioal mentioned. The services 3CX provide and ease of integration makes him almost unbeatable player in this market. If you want to get even more of loyal customers you have to provide them with stable and backward-compatible integration tools and adequate technical support.
 
  • Like
Reactions: Gioal
is there another way to get this instead of using call control API?
Currently no, and you are right about it providing options. As with most APIs of course, you must know what you are doing with it because a badly designed application could do a lot of damage to your 3CX installation, spanning from degraded performance to even 'breaking' the installation.
 
  • Like
Reactions: Gioal
You are correct, we need take care about core application and performance.

3CX could provide a paper of recommendations about Call Control API use even treating this subject like not supported. It will be very useful!
 
Can any one guide me where can i get the dll file, I am using 3cx for linux environment, and developing it in dotnet core for linux environment itself.
 
/usr/lib/3cxpbx
 
Status
Not open for further replies.

Latest Posts

Forum statistics

Threads
111,962
Messages
589,991
Members
164,867
Latest member
swegner