Dismiss Notice
We would like to remind you that we’re updating our login process for all 3CX forums whereby you will be able to login with the same credentials you use for the Partner or Customer Portal. Click here to read more.

CallNotifier supplying incorrect events on outbound call

Discussion in '3CX Phone System - General' started by mcbsys, Jul 12, 2012.

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

    mcbsys New Member

    Joined:
    Oct 8, 2008
    Messages:
    191
    Likes Received:
    17
    Hi,

    I've written a CRM integration using the command-line CRM API. I'm running 3CX 10.0.24018.2322. MyPhone Desktop Components are installed, also version 10.0.24018.2322. I dial out using the 3CX-supplied callnotifier.exe, then I expect MyPhone to pass events to my program about the progress of the call.

    Everything works great on my test systems. However when installed at a client site, running the same version of 3CX and MyPhone, there are two issues:

    • No Start (/N:S) event is presented with the full CallerID of the outbound call. I only receive Connect and End events.
    • The Connect event identifies the call as Inbound (/T:I) even though it is outbound.
    If the client manually dials his phone, the call is correctly identified as Outbound, so this may have something to do with the MakeCall back-and-forth. (I had to write my program to ignore non-numeric CallerID values like "MakeCall" as well as short CallerIDs like extension numbers and trunks.)

    I am at a loss to understand why this is different between my system and the client's on the same version of 3CX. Is there something I can set somewhere to tell MyPhone what events to pass to my program?

    Thanks,
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  2. mcbsys

    mcbsys New Member

    Joined:
    Oct 8, 2008
    Messages:
    191
    Likes Received:
    17
    Some additional information. Here is a log of call events from my test system after dialing out using callnotifier.exe -cmd makecall (shown with time stamps):

    Code:
    20120716.090616.72: /N:S /T:O /I:2 /C:MakeCall.
    20120716.090618.66: /N:S /T:O /I:2 /C:MakeCall.
    20120716.090620.82: /N:S /T:O /I:2 /C:16195551212.
    20120716.090620.85: /N:S /T:O /I:2 /C:10003.
    20120716.090622.69: /N:C /T:O /I:2 /C:16195551212.
    20120716.090622.80: /N:C /T:O /I:2 /C:10003.
    20120716.090632.73: /N:E /T:O /I:2 /C:16195551212.
    Here are the call events from a client's system dialing the same number:

    Code:
    20120716.113641.20: /N:S /T:O /I:193 /C:MakeCall.
    20120716.113647.35: /N:C /T:I /I:193 /C:16195551212.
    20120716.113647.47: /N:C /T:O /I:193 /C:10001.
    20120716.113658.51: /N:E /T:I /I:193 /C:16195551212.
    As you can see, on the client system, there is no Start event with the full CallerID, and the outbound call is incorrectly shown as an inbound call in the Connect and End events.

    How can I get 3CX MyPhone to give my program the correct information about the outbound call?

    The client also keeps asking why the recording file names do not include the phone number. They only show the extension and "MakeCall", e.g. "[MakeCall]_MakeCall-20_20120716090616(2).wav".

    Regards,
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  3. craigreilly

    craigreilly Well-Known Member

    Joined:
    Feb 1, 2012
    Messages:
    3,575
    Likes Received:
    304
    How do the phones connect / initiate the call ? (What is the setting in MyPhone bottom left corner)
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  4. mcbsys

    mcbsys New Member

    Joined:
    Oct 8, 2008
    Messages:
    191
    Likes Received:
    17
    Hi Craig,

    Thanks for your reply.

    Sorry, I'm not sure which MyPhone setting you are referring to. Do you mean something under Settings > Preferences?

    The call is connected as follows:

    1. My application calls the CRM command line API as follows (see Launching Outbound Calls):

    C:\ProgramData\3CXMyPhone Client Addin\CallNotifier.exe -cmd makecall 16195551212

    2. The user's desk phone immediately starts ringing with CallerID "MakeCall".

    3. When the user answers, the user hears hold music while 3CX dials the number. In my office, this raises Start events back to my app (calls my app with command line parameters--see previous post for examples).

    4. If the other party answers, the hold music stops and the call is connected. MyPhone raises Connect events to my app.

    5. When the call ends, MyPhone raises and End event.

    It's kind of like an attended transfer where the "attendant" is the 3CX system itself.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  5. craigreilly

    craigreilly Well-Known Member

    Joined:
    Feb 1, 2012
    Messages:
    3,575
    Likes Received:
    304
    I get the MakeCall too - if MyPhone is set to 'call DeskPhone' or 'CallDeskPhone using Intercom' at the bottom left corner of MyPhone.


    However, whatever mode I am in, always changes the display to the number I am calling after MakeCall appears.
    This is all we do with it - is place calls. We do not look at any other events.

    Also, my apps call is slightly different, I have a colon in there. not sure it matters or if you just missed it:
    Shell(CallNotifierPath & " -cmd makecall:" & number, AppWinStyle.Hide, True)

    (I have to get my call notifier path because we have a mix of win 7 (32 and 64 bit) and win xp machines. so I get a key from the registry).
     

    Attached Files:

    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  6. mcbsys

    mcbsys New Member

    Joined:
    Oct 8, 2008
    Messages:
    191
    Likes Received:
    17
    Thanks Craig. Wow, your MyPhone looks totally different from mine. What version is that? Mine is set to call the Deskphone via Intercom (scroll the screen shot down):


    However the number does not switch back from "MakeCall" to the actual number dialed.

    That's a little annoying but the main issues are with the missing and incorrect Start and Connect events coming back from MyPhone.

    BTW I also retrieve the path from registry, and yes my actual code includes the colon. Thanks for catching that.
     

    Attached Files:

    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  7. craigreilly

    craigreilly Well-Known Member

    Joined:
    Feb 1, 2012
    Messages:
    3,575
    Likes Received:
    304
    My image was showing the extension page but blacked out the user details for privacy.
    It is v11 and is installed locally instead of using a web address
    The bottom left corner shows the same thing as what you highlighted in yours.
    Sorry I couldn't provide more help.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  8. mcbsys

    mcbsys New Member

    Joined:
    Oct 8, 2008
    Messages:
    191
    Likes Received:
    17
    Okay v11 must put that extra info on the extensions page. On v10 it's just blank at the bottom of the extensions page.

    Anyway thanks for the input!
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  9. mcbsys

    mcbsys New Member

    Joined:
    Oct 8, 2008
    Messages:
    191
    Likes Received:
    17
    Still not sure why this was happening, but once the customer upgraded to 3CX version 11, the problem seems to have gone away. He now gets an outbound call event on an outbound call.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  10. craigreilly

    craigreilly Well-Known Member

    Joined:
    Feb 1, 2012
    Messages:
    3,575
    Likes Received:
    304
    glad you got it running.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
Thread Status:
Not open for further replies.