3
votes

I am trying to make a web client for my SIP call request. I have done invite call successfully from browser. But, I am not getting how to refer to the 3rd party call through Javascript. I am using WebRTC and SIPML5.

On trying session.transfer(),after successful Refer, the link to the referrer is broken... but, I am able to hear audio from the referee to referrer. 'I am not getting Notify. Just refer is ACK sip message and then 1 sided call.'

For example: A refers to B. After successful refer, I am not able to send/recv SIP packets from A. But, I am able to do the same from B. So, when B talks, A can hear. But, vice-versa is not working.

The SIP refer is working perfectly via SIPP. And 2-way packets are available.

P.S.: I DONT WANT CALL TRANSFER.

If SIPML5 does not support this, can I do the same via Java. Where I send a refer request to SIP servelet which handles it via doRefer()?

These are the links I referred:

1
Namaste! I see from many internet posts that your wish is big to get a solushion for your question, but you have to think about the answerers. I can not find anything from your code. So do we have to write it ourselves? Put here your code please, if you want some help.Bharata
Its the normal sipml5 code.. we have sip transfer supported in sipml5 but not sip refer.Shachi

1 Answers

0
votes

I found it on my own.

SIPML5 does not support call refer but call transfer. So, it uses REFER to transfer call but then, the callee gets disconnected.

So, finding a workaround, I sent the REFER message details in session.send() as a string. I had to parse the string to fetch the data which ofcourse is not the SIP message but a simple string.

and on handling refer, I am able to receive packets from callee and caller.

The problem persists though,

The problem is that the invite call's session is of type 'call' whereas the message session was of type 'message'.

So, I added CALL-ID of call session into Message session and parsed it. Thus successfully getting the packets on same channel.