alticelabsprojects / asterisk-i Goto Github PK
View Code? Open in Web Editor NEWSIP-I support for Asterisk
SIP-I support for Asterisk
When a REFER is sent but the call transfer is not completed or accepted by the destination the original session hangs.
WMS-382: 1.0.0
WMS-626: 1.0.1
amr file extension is not registered.
Asterisk-i should incorporate patch https://issues.asterisk.org/jira/secure/attachment/28355/amr-passthrough-trunk-r82546M.txt for formats/format_amrnb.c file
Asterisk doesn't support the dynamic payload change in rtp mapping in the 200 OK response, this defect was corrected in https://issues.asterisk.org/jira/browse/ASTERISK-23279 patch http://svnview.digium.com/svn/asterisk?view=revision&revision=408729
When makecall ends with timeout, it should be returned cause 19 instead of cause 16.
Fax returns resource error when dialing to non-fax terminal
Add support for outbound SIP-I calls.
The system should send an ISUP IAM message embedded in the SIP INVITE message body
Invite example:
INVITE sip:[email protected]:5060 SIP/2.0
CSeq: 1 INVITE
From: <sip:[email protected].180>;tag=1
To: <sip:[email protected].220>
Call-ID: [email protected]
Via: SIP/2.0/UDP 10.112.137.180:6060
User-Agent: X-Lite release 1011s stamp 41150
Max-Forwards: 70
Date: Sat, 13 Nov 2010 23:29:00 GMT
Contact: <sip:[email protected]:6060>
Allow: REGISTER,REFER,NOTIFY,SUBSCRIBE,INVITE,ACK,OPTIONS,CANCEL,BYE
Max-Forwards: 70
Min-SE: 900
Session-Expires: 1800
Supported: timer
Response:
SIP/2.0 200 OK
Via: SIP/2.0/UDP 10.112.137.180:6060;received=10.112.137.180
From: <sip:[email protected].180>;tag=1
To: <sip:[email protected].220>;tag=as727c2726
Call-ID: [email protected]
CSeq: 1 INVITE
Server: WMS
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, PRACK
Supported: replaces, timer
Session-Expires: 1800;refresher=uas
Contact: <sip:[email protected]:5060>
Require: timer
Content-Type: application/sdp
Require: timer
After PRACK transaction the initial dialog branch is lost
Section 171.1.3 (Construction of the ACK Request) da RFC 3261:
This section specifies the construction of ACK requests sent within
the client transaction. A UAC core that generates an ACK for 2xx
MUST instead follow the rules described in Section 13.
The ACK request constructed by the client transaction MUST contain
values for the Call-ID, From, and Request-URI that are equal to the
values of those header fields in the request passed to the transport
by the client transaction (call this the "original request"). The To
header field in the ACK MUST equal the To header field in the
response being acknowledged, and therefore will usually differ from
the To header field in the original request by the addition of the
tag parameter. The ACK MUST contain a single Via header field, and
this MUST be equal to the top Via header field of the original
request. The CSeq header field in the ACK MUST contain the same
value for the sequence number as was present in the original request,
but the method parameter MUST be equal to "ACK".
When handling SIP sessions on Red Hat EL6, asterisk-i terminates with a core dump due to a buffer overflow when copying data to url_params.
WMS callid not set on SIP Call-ID header, asterisk-i is generating a new Call-ID instead of using the wms callid
Add support for RFC 5552 section 4.2 (SIP Mechanism) to allow the delivery of digits results (url encoded string) in the message body of the SIP BYE message.
If the remote peer re-invites to inband after rfc2833 in place, the dsp for dtmf detection is never enabled
It is necessary to throw a thread for fax in order to add the possibility to process operations while fax is enabled.
res_timing_pthread fails to return from write, causing timer dependent operations to block indefinitely
https://issues.asterisk.org/jira/browse/ASTERISK-21389
http://svnview.digium.com/svn/asterisk/branches/11/res/res_timing_pthread.c?r2=386159
Integration with spandsp-i-1.1.0, this version is based in the spandsp-fs source code.
The play instruction on the app_wms is not validating the return value of the ast_streamfile() function. Without error WMS application will not be able to stop the call flow.
Jira PTIN: WMS-1005
Related to: issue #5
Dear Team,
asterisk is not sending out audio until the line is answered.
I do not see any RTP flowing out of asterisk while playing back an announcement with Playback (noanswer).
here is my dialplan
[noanswer_demo]
exten => s,1,Progress()
exten => s,n,Monitor(wav,testCall-${STRFTIME(${EPOCH},GMT+3,%C%y%m%d%H%M)})
exten => s,n,Background(hello-world, n) ; ----> 1
exten => s,n,WaitExten(1)
exten => s,n(cont),Playback(hello-world, noanswer) ; ----> 2
exten => s,n,Wait(1)
exten => s,n,Playback(hello-world) ; ----> 3
exten => s,n,Playback(demo-instruct)
exten => s,n,Playback(hello-world)
exten => s,n,Playback(demo-instruct)
exten => s,n,Hangup()
I am not hearing the 1st and 2nd prompts BUT the Monitor file contains all the prompts.
:::::::: Another observation ::::::::
Below is the Mime I am receiving and we are replying with SIP and not SIP-I message.
Content-Type:application/ISUP;base=itu-t92+;version=itu-t92+
Content-Disposition:signal;handling=required
Content-Transfer-Encoding:binary
i guess we are simply ignoring the handling=required
can you please guide me how can i solve these problems
NOTE:
all 51 patches applied
When a SIP PRACK with an SDP is received, the application controlling the call should be notified so that it can do media related operations.
When configuring asterisk's DTMF use to either auto or rfc2833, answers to INVITES which have no SDP should state that RFC 2833 DTMF transmission is possible.
Código do issue no Jira PTIN: WMS-680
Asterisk-i is generating a segfault when receiving a conference call.
Support for Fax termination with spandsp
Confidentiality value is not being propagated to the SIP INVITE. The header privacy needs to be added when confidentiality is set to 1.
Patch files should be numbered, making easier the patch process. With this approach there is no need for the README files to indicate the patch apply order.
The play instruction on the app_wms is not validating the return value of the ast_streamfile() function. Without error WMS application will not be able to stop the call flow.
Jira PTIN: WMS-759
Memory leak when using conference resources
Enhanced conference support via asterisk-i ConfBridge applications
When makecall ends with timeout and there isn't ringing it returns with cause 16, it should be returned cause 19 instead of cause 16.
Relates to #28
After a re-INVITE that alter the port or codec, the conference participant's audio is missing.
When fax call terminates with a BYE from the remote peer, a re-invite to audio is being issued causing 481 messages.
This is happening after the t38 resource and signaling synchronization patch.
Related to issue #26
Jira issue ID: WMS-683
Support for thrid-party rtp media.
The SDPs provided by asterisk should be able to specify a different rtp media provider rather than the asterisk embeded.
The tel URI scheme is only supported on the From and To headers.
It should be supported in other headers such as P-Asserted-Identity.
Conference record filename is corrupted
The 200 OK response to a PRACK with SDP (new offer) is sent without any body (answer).
It should comply with RFC 6337:
3.2. Offer/Answer Exchange in Early Dialog
A UA can send a PRACK request with a new offer only when
acknowledging the reliable provisional response carrying the answer
to an offer in the INVITE request.
4. Exceptional Case Handling
At any time, either agent MAY generate a new offer that updates
the session. However, it MUST NOT generate a new offer if it has
received an offer which it has not yet answered or rejected.
Furthermore, it MUST NOT generate a new offer if it has generated
a prior offer for which it has not yet received an answer or a
rejection.
And RFC 3262:
5 The Offer/Answer Model and PRACK
If the UAC receives a reliable provisional response with an offer
(this would occur if the UAC sent an INVITE without an offer, in
which case the first reliable provisional response will contain the
offer), it MUST generate an answer in the PRACK. If the UAC receives
a reliable provisional response with an answer, it MAY generate an
additional offer in the PRACK. If the UAS receives a PRACK with an
offer, it MUST place the answer in the 2xx to the PRACK.
Inconsistent Via is being generated when a semicolon is present at the end of original header
Asterisk-i should be able to handle and generate SIP PRACK messages.
To this effect, a merge of the http://svn.digium.com/svn/asterisk/team/oej/darjeeling-prack-11 svn branch should be made with the current asterisk-i code.
This issue links with PTIN Jira Issue: WMS-693
Asterisk-i is answering with a=inactive when receiving an invite without sdp
When creating a conference, if two consecutive calls are made in a short period of time, one of the users may not be added to the conference.
WMS internal issue: WMS-635
It is necessary to rejected the call if the RURI exceeds 256 characters.
In case a LOOP_CURRENT_EVENT when playing a announcement asterisk-i shouldn't send a PLAY_ANNOUNCEMENT_COMPLETED with error INVALID_VOICE_FILE_PARAMETER.
asterisk-i should be based on asterisk 11.3.0.
All the current functionalities should be available as is.
JIRA PTIN: WMS-728
Hangup and fax phase E event fails to synchronize, although the fax is transmitted with success sometimes the hangup event is processed before the phase E event, when this happens it is returned an error.
A ack sip message with content-type leads to a segmentation fault, if the call is for an unregistered mask.
Asterisk-i is sending a=sendrecv, when offer was a=recvonly. This happens when the header a= is not the last header in the sdp.
The options for sending the signals CED and CNG should be configured in res_fax.conf
Asterisk-i is not following offer/answer model regarding a=recvonly/sendonly, asterisk-i is not responding with "a=recvonly" when receives an invite with "a=sendonly" or vice versa.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.