V20 Call Control API

Status
Not open for further replies.

arussell

Free User
Joined
Apr 1, 2024
Messages
2
Reaction score
0
I've been working with the V20 Call Control API, so far i have been able to initiate a phone call between two extensions via the makecall method, but i cant seem to answer or pickup the call using the Call Control API. I have seen throughout the forums that this is still under development. Is the AnswerAsync method implemented or is it currently just serving as a placeholder? Im a fullstack JavaScript developer over 15 years, this would be my first rodeo with a native language since 2008 using objective-c and java creating mobile apps. I'm feeling fairly confident in my ability to dive into the PhoneSystem class that TCX.PBXAPI exposes but there is not documentation on it.

Can someone point me in the right direction on how i would as a new native developer have an understanding of that PhoneSystem class exposed by 3CX?

If this is not 100% complete yet, can we get an ETA on its completion?

Here is what i have tried.

First i initiate the call from extension 100 to 101 (100 is on web 101 is on my iphone) then i view the info and attempt to pickup the call.

command
callcontrol info dn=100

output
Bash:
Executing callcontrol.info(dn=101)

DN=101-Wextension.37: 101
-----DEVICE=sip:[email protected]:5483;rinstance=0e4ec52b0381e86d
Wconnection.24
AttachedData=System.Collections.Generic.Dictionary`2[System.String,System.String]
LastChangeStatus=04/01/2024 22:49:37
IsOutbound=False
IsInbound=True
DialedNumber=
ExternalParty=100
InternalParty=Wextension.29: 100
Status=Ringing
HistoryIDOfTheCall=7895da9b8e010000_7
OriginatedBy=Wroutepoint.20: ROUTER
ReferredBy=0
CallConnectionID=3
CallID=7
OnBehalfOf=
DN=Wextension.37: 101
OtherCallParties=TCX.Configuration.Interop.Wconnection[]
RecordingState=Stop
PartyConnectionID=22
ReferredByDN=
OfferProvided=True
RouteTarget=
ID=24
HasAttached=False
    AttachedData:
        prevCall=0
        prevLeg=0
        devcontact=sip:[email protected]:5483;rinstance=0e4ec52b0381e86d
        public_push_pickupinfo=GzCcmY1VsSSSYliQEwALTg..;from-tag=523cf310;to-tag=65560d05
        public_push_callerid=100
        public_push_callername=Russell, Aaron
        [email protected]:5482
        sip_dialog_set_id=GzCcmY1VsSSSYliQEwALTg..0523cf310
        extnumber=100
        chid=7895da9b8e010000_7
Operation Completed

Sample execution time - 00:00:00.0443564

command
callcontrol pickup dn=100 dnfrom=101

Bash:
Executing callcontrol.pickup(dn=100, dnfrom=101)
Operation Completed
Success(NotSpecified:Connected):
Wconnection.25
AttachedData=System.Collections.Generic.Dictionary`2[System.String,System.String]
LastChangeStatus=04/01/2024 22:50:36
IsOutbound=False
IsInbound=True
DialedNumber=
ExternalParty=100
InternalParty=Wextension.37: 101
Status=Ringing
HistoryIDOfTheCall=7895da9b8e010000_7
OriginatedBy=
ReferredBy=0
CallConnectionID=4
CallID=7
OnBehalfOf=
DN=Wextension.29: 100
OtherCallParties=TCX.Configuration.Interop.Wconnection[]
RecordingState=Stop
PartyConnectionID=24
ReferredByDN=
OfferProvided=False
RouteTarget=
ID=25
HasAttached=False
    AttachedData:
        prevCall=0
        prevLeg=0
        devcontact=sip:[email protected]:5483;rinstance=388197924134374c
        public_push_pickupinfo=VXLEmThwEv-tIqh30mbQcQ..;from-tag=a37b714c;to-tag=84359f2d
        public_push_callerid=100
        public_push_callername=Russell, Aaron
        sip_dialog_set_id=VXLEmThwEv-tIqh30mbQcQ..0a37b714c
        extnumber=100
        chid=7895da9b8e010000_7
Sample execution time - 00:00:00.1232502

The issue is that nothing happens, it just sends me to voicemail.

I would also like to note that i am asking about the AnswerAsync method being completed, i see that the `pickup` command does not use that AnswerAsync method, so i attempted to use the answer command and this was my outcome.

Bash:
>callcontrol info dn=101
Executing callcontrol.info(dn=101)

DN=101-Wextension.37: 101
-----DEVICE=sip:[email protected]:5483;rinstance=0e4ec52b0381e86d
Wconnection.10
AttachedData=System.Collections.Generic.Dictionary`2[System.String,System.String]
LastChangeStatus=04/01/2024 22:26:36
IsOutbound=False
IsInbound=True
DialedNumber=
ExternalParty=100
InternalParty=Wextension.29: 100
Status=Ringing
HistoryIDOfTheCall=4283c59b8e010000_3
OriginatedBy=Wroutepoint.20: ROUTER
ReferredBy=0
CallConnectionID=3
CallID=3
OnBehalfOf=
DN=Wextension.37: 101
OtherCallParties=TCX.Configuration.Interop.Wconnection[]
RecordingState=Stop
PartyConnectionID=8
ReferredByDN=
OfferProvided=True
RouteTarget=
ID=10
HasAttached=False
    AttachedData:
        prevCall=0
        prevLeg=0
        devcontact=sip:[email protected]:5483;rinstance=0e4ec52b0381e86d
        public_push_pickupinfo=4MeGOZky4_2hv3St1IRZGA..;from-tag=2328b10b;to-tag=381a6c1b
        public_push_callerid=100
        public_push_callername=Russell, Aaron
        [email protected]:5482
        sip_dialog_set_id=4MeGOZky4_2hv3St1IRZGA..02328b10b
        extnumber=100
        chid=4283c59b8e010000_3
Operation Completed

Sample execution time - 00:00:00.0035566

>callcontrol answer dn=101
Executing callcontrol.answer(dn=101)
Action has been failed: Unexpected exception
System.Exception: Unknown action(answer) or it is not applicable (at the moment) on Wextension.37: 101

   at OMSamples.Samples.CallControl.<>c__DisplayClass6_0.<<Run>b__0>d.MoveNext() in /root/OMSamples/Samples/V20CallControlAPI.cs:line 227
Sample execution time - 00:00:00.0013261
Sample 'callcontrol.answer(dn=101)' execution failed System.AggregateException: One or more errors occurred. (Unknown action(answer) or it is not applicable (at the moment) on Wextension.37: 101
)
 ---> System.Exception: Unknown action(answer) or it is not applicable (at the moment) on Wextension.37: 101

   at OMSamples.Samples.CallControl.<>c__DisplayClass6_0.<<Run>b__0>d.MoveNext() in /root/OMSamples/Samples/V20CallControlAPI.cs:line 227
   --- End of inner exception stack trace ---
   at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
   at System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification)
   at OMSamples.Samples.CallControl.Run(PhoneSystem ps, String action, Dictionary`2 parameters) in /root/OMSamples/Samples/V20CallControlAPI.cs:line 86
   at OMSamples.SampleStarter.ExecuteSample(ISample sample, PhoneSystem ps, String action, Dictionary`2 additional_parameters) in /root/OMSamples/SampleStarter.cs:line 122
   at OMSamples.SampleStarter.StartSample(PhoneSystem ps, String sample_name, String action_name, Dictionary`2 additional_parameters) in /root/OMSamples/SampleStarter.cs:line 138
   at OMSamples.SamplesConsole.Run(PhoneSystem ps) in /root/OMSamples/Samples/Console.cs:line 27
System.AggregateException: One or more errors occurred. (Unknown action(answer) or it is not applicable (at the moment) on Wextension.37: 101
)
 ---> System.Exception: Unknown action(answer) or it is not applicable (at the moment) on Wextension.37: 101

   at OMSamples.Samples.CallControl.<>c__DisplayClass6_0.<<Run>b__0>d.MoveNext() in /root/OMSamples/Samples/V20CallControlAPI.cs:line 227
   --- End of inner exception stack trace ---
   at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
   at System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification)
   at OMSamples.Samples.CallControl.Run(PhoneSystem ps, String action, Dictionary`2 parameters) in /root/OMSamples/Samples/V20CallControlAPI.cs:line 86
   at OMSamples.SampleStarter.ExecuteSample(ISample sample, PhoneSystem ps, String action, Dictionary`2 additional_parameters) in /root/OMSamples/SampleStarter.cs:line 122
   at OMSamples.SampleStarter.StartSample(PhoneSystem ps, String sample_name, String action_name, Dictionary`2 additional_parameters) in /root/OMSamples/SampleStarter.cs:line 138
   at OMSamples.SamplesConsole.Run(PhoneSystem ps) in /root/OMSamples/Samples/Console.cs:line 27
 
Last edited:
Just looking to know if this is a completed API or if I'm doing something wrong. Does anyone have any insight on this? Sorry for the bump. Will be the only one.
 
Status
Not open for further replies.

Forum statistics

Threads
111,953
Messages
589,915
Members
164,850
Latest member
masvty