Comments (7)
What is the "caller" here? To hard to figure out. I assume JsSTIP is not the "caller" in your scenario, but those things must be properly explained when reporting a bug.
So the fact that Firefox adds a a=sendrecv
attribute at global SDP level is irrelevant. In the m=audio
section there is a proper a=sendonly
attribute that overrides the global one. If Asterisk doesn't understand it that's a bug in Asterisk side.
from jssip.
Hi
reproduced here also.
Asterisk 18.14
The issue exists in any call direction: either if it's incoming (session invte created by pbx) or outgoing (session invite created by jssip)
the SDP rfc say:
a=sendonly
This specifies that the tools should be started in send-only
mode. An example may be where a different unicast address is
to be used for a traffic destination than for a traffic source.
In such a case, two media descriptions may be used, one
sendonly and one recvonly. It can be either a session- or
media-level attribute, but would normally only be used as a
media attribute. It is not dependent on charset. Note that
sendonly applies only to the media, and any associated control
protocol (e.g., RTCP) SHOULD still be received and processed as
normal.
if i get it right, while its not invalid to put this in sesion level, it's preferable to put it in media level only.
we'll check what can be done in asterisk side but i thinks it's really better to be clean and put this attribute only in media level instead of both session and media.
from jssip.
but i thinks it's really better to be clean and put this attribute only in media level instead of both session and media.
This is not JsSIP decision. It's Firefox the one that generates its SDP with that attribute at session and media level. This is WebRTC. Browsers generate their SDPs, not us.
from jssip.
but i thinks it's really better to be clean and put this attribute only in media level instead of both session and media.
This is not JsSIP decision. It's Firefox the one that generates its SDP with that attribute at session and media level. This is WebRTC. Browsers generate their SDPs, not us.
interesting, i thought it was set by jssip.
from jssip.
JsSIP doesn't create SDP. It rewrites it a bit to change the sendrecv attribute at media level when calling hold() and unhold(), nothing else.
from jssip.
Noted. i'll check if this bug (but is it ?) is reported on mozilla bugreport, and i'll check if we can do something on asterisk level. i agree that asterisk should play MOH in any case.
from jssip.
Firefox could omit the session level attribute but that's not a bug. Asterisk is the problem since if should check the media level attribute if present and override the session level one.
from jssip.
Related Issues (20)
- JsSIP Logger Override Functionality Not Working As Expected in v3.7.7 HOT 1
- UnMute Call HOT 2
- How not to get microphone permission HOT 1
- For SIP server Account Register Working? HOT 2
- Abnormal session cancellation method under race condition
- Type definition errors in 3.10.0 HOT 1
- Error when getting video track status on Firefox
- Play audio or tone to remote user. HOT 2
- The new JsSIP.UA(configuration).call method does not return the status after execution
- import JsSIP from "jssip"; 打印JsSIP undefined HOT 2
- Error 'setLocalDescription' on Chrome HOT 1
- BYE: Request-URI does not point to us HOT 34
- I want to send and Receive message using JSSIP
- Sending a silent stream on latest Chrome HOT 1
- Error when trying to change the microphone during a call HOT 1
- Add custom header JsSIP - Asterisk HOT 1
- JsSIP processing re-INVITE HOT 1
- SDP is cut off between recieving 200 OK and the sdp event being emitted HOT 2
- On iOS, navigator.mediaDevices is `undefined` unless page is served in a secure context, but Errors are swallowed
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 jssip.