Menu

Hold/transfer functionality and applet

2014-06-18
2014-06-20
  • Arturo Barajas

    Arturo Barajas - 2014-06-18

    Greetings, Yohann!

    I've been toying with Peers a little for an ongoing project that I have, but for this project I need to have both hold and transfer functionality. I'm by no means a Java expert, much less a SIP one, but I can find my way.

    Could you please tell me how could I implement than functionality?

    On the other topic, how do I create an applet? I see that Peers is somehow prepared for that, but I haven't found the way.

    Thanks in advance! By the way, Peers is awesome!

     
    • yohannmartineau

      yohannmartineau - 2014-06-20

      here is a mix of the answers to the same question (on hold and transfer)

      On Wed, Jun 18, 2014 at 11:34 PM, Arturo Barajas abarajas@users.sf.net
      wrote:

      Greetings, Yohann!

      I've been toying with Peers a little for an ongoing project that I have,
      but for this project I need to have both hold and transfer functionality.
      I'm by no means a Java expert, much less a SIP one, but I can find my way.

      Could you please tell me how could I implement than functionality?

      read peers doc if not already done: http://peers.sf.net/doc.

      call forwarding can be implemented using REFER method and Replaces header,
      as specified in RFC5589 http://tools.ietf.org/html/rfc5589.

      I think you should add a new MethodHandler called ReferHandler. This new
      method handler would have a preProcessRefer method that would populate
      headers as expected before sending this request to the transferee.

      Transfer feature can be implemented multiple ways in sip (you have blind
      transfer, supervised transfer, etc). The simplest one is using refer /
      notify methods, you probably read call flows about this method. This
      feature can be complex.

      for on hold feature, use an invite with special SDP attribute to mute sound
      in RTP session.

      someone already implemented a patch a long time ago, here is his mail:


      Dear Yohann,

      First of all, I would like to say thank you for your hard work in the Peers
      project!

      We have been developing a comlex SoftPhone application for a year or so
      using JAIN-SIP, but it had flaws we couldn't understand. We decided a week
      ago to trash the current SIP engine and switch it with yours. The
      application is much more reliable and professional this way, but there were
      some features missing (call transfer and hold-unhold function).

      I have created a "patch" to implement these functions. Although I'm a
      newbie in the SIP world I've nearly managed to do this. Blind transfer is
      working as expected, but the re-invite is kind of strange: There's an
      Asterisk server on the other side and sometimes it just responds a wrong
      attribute in the SDP body as if there wasn't any request to change the
      transfer direction (sendonly, sendrecv, inactive). Maybe you could help me
      with this matter and hopefully you could use my code for the project as
      well.

      Please find the JAVA files attached in a TAR.GZ compressed file.
      InviteHandler required some external code, because I couldn't find out
      another way to check if it's an invite is a normal invite or a re-invite. I
      hope I didn't forget any unnecessary code or Hungarian comment in it :).

      Kind regards,

      and the corresponding patch:

      peers-patch.tar.gz
      https://docs.google.com/file/d/0B-s3oQGmkUroTWVKR2lTZkZPMGlJZUJLRERud05hRnhIY1NN/edit?usp=drive_web

      Hold feature is easy to implement (you should start with this one. You just
      have to look for attributes sendonly or recvonly in SDP and avoid the setup
      of the corresponding objects to send or receive media (incomingRtpReader or
      captureRtpSender in MediaManager).

      On the other topic, how do I create an applet? I see that Peers is somehow

      prepared for that, but I haven't found the way.

      take a look at peers-js or peers-jws in peers source code, you can even
      download a zip file containing a full example here:

      http://sourceforge.net/projects/peers/files/peers/0.5/
      http://sourceforge.net/projects/peers/files/peers/0.5/

      more details in doc

      Thanks in advance! By the way, Peers is awesome!

      Hold/transfer functionality and applet
      https://sourceforge.net/p/peers/discussion/683023/thread/9ad8cdcf/?limit=25#a2f2


      Sent from sourceforge.net because you indicated interest in
      https://sourceforge.net/p/peers/discussion/683023/

      To unsubscribe from further messages, please visit
      https://sourceforge.net/auth/subscriptions/

       
  • Erwin Hogeweg

    Erwin Hogeweg - 2017-11-04

    Ignore - 3 seconds after I posted this the lightbulb went on inside my head. This is still referring to the 0.4.3 branch.

    Apologies for the spam.

    E.

    Johann and Arturo, I want to start with congratualting both of you with a fantastic job. I am looking at peers to create a SIP integration and looks like that will be a breeze with this lib.
    One question: I noticed that Arturo's patch references net.sourceforge.peers.media.SoundManager
    I don't see that class in the master branch. Is that 'just' a rename of the AbstractSoundManager or is that class missing in the patch?

    Kind Regards,

    Erwin

     

    Last edit: Erwin Hogeweg 2017-11-04
    • yohannmartineau

      yohannmartineau - 2017-11-04

      Hi

      There is now a an abstract class on top of sound manager which is in a
      dedicated maven module called peers-javaxsound.
      In this module, you will find a JavaxSoundManager which corresponds to the
      former SoundManager class.

      Yohann

      Le 4 nov. 2017 14:21, "Erwin Hogeweg" ehogeweg@users.sf.net a écrit :

      Johann and Arturo, I want to start with congratualting both of you with a
      fantastic job. I am looking at peers to create a SIP integration and looks
      like that will be a breeze with this lib.
      One question: I noticed that Arturo's patch references
      net.sourceforge.peers.media.SoundManager
      I don't see that class in the master branch. Is that 'just' a rename of the
      AbstractSoundManager or is that class missing in the patch?

      Kind Regards,

      Erwin

      Hold/transfer functionality and applet
      https://sourceforge.net/p/peers/discussion/683023/thread/9ad8cdcf/?limit=25#4352


      Sent from sourceforge.net because you indicated interest in
      https://sourceforge.net/p/peers/discussion/683023/

      To unsubscribe from further messages, please visit
      https://sourceforge.net/auth/subscriptions/

       

Log in to post a comment.