Menu

Monitor a call transfer

Anonymous
2012-07-06
2013-04-23
  • Anonymous

    Anonymous - 2012-07-06

    Hello,

    I'm trying to monitor a transfer call from the begining to the end. The scenario is : A calls B. B reply and transfer to C. B  terminate the transfer and A talks to C.

    I can't manage to have any event when the phone C is ringing for the transfert. I have implemented the interface TelephonyListener.
    I have the event terminalConnectionHeld, but when he arrived I don't know the destination of the transfer.

    Thank you.

     
  • Richard Deadman

    Richard Deadman - 2012-07-06

    What provider are you using under GJTAPI? When you say that you have implemented the TelephonyListener, does this mean you are writing your own provider? Have you registered a listener against terminal C or against the call?

     
  • Anonymous

    Anonymous - 2012-07-09

    Hello,

    I use Tapi3 under GJTAPI.

    I have implemented the interface TelephonyListener to make actions when a connection is disconnected or a terminal is ringing (I send information to an upper level application when a phone is ringing).

    Yes I registered listerners against all terminals.

    To clarify my environement I monitor TAPI events from an IPBX. I add listerner against all terminals connected to the IPBX.  My biggest problem is the method terminalConnectionRinging() from the Interface TelephonyListener is only called when an external call arrives, for an internal call I can't know when a terminal is ringing.
    How can I know if a terminal is ringing for an internal call ?

    Thank you.

     
  • Richard Deadman

    Richard Deadman - 2012-07-09

    It could be that the TAPI3 service provider isn't properly sending ringing events for internal transfers. Are you able to put a breakpoint into the TAPI3 service provider and see what is being sent up from the DLL?

    I don't have a lot of time to look into this in the next few weeks. Do you have a simple sample test class that demonstrates the problem? Has anyone else on the list seen this?

    Richard

     
  • Anonymous

    Anonymous - 2012-07-09

    I made a simple sample test class (initialize a service provider and add listener). See this link : http://pastebin.com/aZgQmpbc

    My code is simple, it only monitor one "event" (the ringing event). You will not be able to test it because I use an IPBX to monitor my telephony network. Maybe the problem come from the IPBX which doesn't send events to the Tapi3 provider ??

    I look at the file Tapi3dll.log. When there is an incoming external call the methode terminalConnectionRinging is called. But when there is an internal call : exemple number 100 calls number 103. Methods are called in this order : -> connectionInProgress (100 dial the number 103)-> ConnectionAlerting (100 has finished to dial the number) -> connectionTalking (when 103 reply) and connectionDisconnected (when the call is done)

    Thank you to help me on this problem

     
  • Anonymous

    Anonymous - 2012-07-09

    To complete my post I use GJTAPI 1.9 rc1.

    I do not use rc4 because I wasn't abble to get the provider with the last version. 
    With RC4 I have an error on this line :

     Provider provider = peer.getProvider("Tapi3");
    

    Here the error : Exception in thread "main" javax.telephony.ProviderUnavailableException: Error loading raw provider Tapi3: Tapi3

     
  • Anonymous

    Anonymous - 2012-07-11

    Hello,

    I solve my problem. Internal call didn't work only with DECT phone. When I make ringing an IP phone I have all the events I want.

    Thank you for your help. And rdeadman you did a very good work with GJTAPI.

     
  • Richard Deadman

    Richard Deadman - 2012-07-11

    Good to hear.

    Richard

     

Log in to post a comment.

MongoDB Logo MongoDB