Comments (8)
Hi Ralf,
I've created a new branch acksdp which has a tiny change to show how I'd go
about setting the body on an ACK request. The other class that would most
likely need to be changed is ClientUserAgent but it depends how you were
thinking of triggering the SDP to be set on the ACK instead of the INVITE.
The two possibilities I can think of a re a flag in the CallDescriptor
class or a flag set on the ClientUserAgent constructor.
Regards,
Aaron
On Tue, Jun 28, 2016 at 2:43 AM, Ralf Jänike [email protected]
wrote:
As I'm understanding the code right now, i don't see a possibility for the
"Late" or "Delayed" offer scenario,
Early = SDP in INVITE
Late = INVITE without SDP, SDP in ACKI'd like to discuss a way to implement it, without breaking the allready
working sipsorcery framework.Ralf
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
#5, or mute the thread
https://github.com/notifications/unsubscribe/AAMEHPLCig3JGXzszKGMD3xZp3xcEmNNks5qP_2kgaJpZM4I_SM2
.
from sipsorcery.
Hi Aaron,
allthough setting the SDP in constructor is possible it is not practical for B2B scenario.
The ACK/SDP request for OK/SDP response should not be sent before the ACK/SDP from other party is received.
current (early offer) implementation
regular flow: INVITE/SDP -> trying -> ringing -> ok/SDP -> ACK
B2B regular flow: (a)INVITE/SDP -> (b)INVITE/SDP -> (b)trying -> (a)trying -> (b)ringing -> (a)ringing -> (b)ok/SDP -> (b)ACK -> (a)ok/SDP -> (a)ACK
late offer mplementation
late offer flow: INVITE -> trying -> ringing -> ok/SDP -> ACK/SDP
B2B late offer flow: (a)INVITE -> (b)INVITE -> (b)trying -> (a)trying -> (b)ringing -> (a)ringing -> (b)ok/SDP -> (a)ok/SDP -> (a)ACK/SDP -> (b)ACK/SDP
when i come to think of it, B2B flow should always be: ok -> ok -> ACK -> ACK
I propose a code change, that allows to change the automated ACK request in an eventhandler (or at least a public method to set the body for ACK) and that UACInviteTransactionFinalResponseReceived event is always called before ACK Request is generated and sent.
Ralf
from sipsorcery.
Hi Aaron
I committed my proposed code changes to branch acksdp in my fork.
They work for me and my purposes.
Can you review them?
Regards
Ralf
from sipsorcery.
Hi Ralf,
I've had a look at your changes. What's the purpose
of _waitSendNewTransactionACKRequest? And why do you want to hold off
sending the ACK request once the 200 Ok response has been received?
Regards,
Aaron
On Wed, Jun 29, 2016 at 3:41 AM, Ralf Jänike [email protected]
wrote:
Hi Aaron
I committed my proposed code changes to branch acksdp in my fork.
They work for me and my purposes.Can you review them?
Regards
Ralf—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
#5 (comment),
or mute the thread
https://github.com/notifications/unsubscribe/AAMEHAIz_w3ASLfLSKIkOX0l_xZh6AfUks5qQVzTgaJpZM4I_SM2
.
from sipsorcery.
Hi Aaron,
I'm still working with Back2Back Scenario
i'm needing the _wait since I have to copy and manipulate the final SDP from ACK of client B to ACK for client A.
_wait isn't needed in a normal call flow where INVITE offers SDP and is accepted in OK. But in Late Offer SDP is offered in OK by the invitee (client B) and accepted in ACK by the inviter (client A)
Regards,
Ralf
from sipsorcery.
I've changed the UACInviteTransaction class to fit in with your B2B scenario, new change committed to my acksdp branch. Take a look and see if that suits your needs.
from sipsorcery.
Thank you Aaron,
this works for me, too.
i just added the sendOkAckManually parameter for convenience to SipTransport.CreateUACTransaction
Regards Ralf
from sipsorcery.
Merged changes for for this issue into master,
from sipsorcery.
Related Issues (20)
- SIP Proxy example didn't implement INVITE HOT 4
- Can support connecting to mediamtx media server ?
- `RTCDataChannel.ordered` is wrong
- Data channels quickly slow down to a crawl under pressure HOT 3
- SipRegistrationUserAgent not responding to OPTIONS requests from server
- localDescription not updated after ICE gathering HOT 1
- Call SipServer with sipsorcery and answered call but automatically hungup.
- c# .net framework 4.7.2 make call to sip HOT 1
- Answer has extmap http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time at level 0 that was not present in offer. HOT 1
- UAC send manuel Acknowledge(OK) with SDP HOT 1
- High latency in one direction only when connected to conference call HOT 2
- Registration not removed when logging in on different device HOT 2
- How to set requireEvenPort to false in RTPSession
- Signed Nuget package HOT 1
- Chrome Version 124 Update is breaking the DTLS Handshake for WebRTC HOT 19
- `IndexOutOfRangeException` while parsing compound packet with receiver report HOT 1
- nuget package 6.2.4,webrtc is work on windows with Chrome version 124,but not work on centos8
- Register Unauthorized HOT 1
- Possible Null pointer exception if using MdnsResolve HOT 1
- Unhandled exception at WebSocketSharp.WebSocket.Send(String data) if websocket client connect and immediately close it HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from sipsorcery.