Commit Graph

74 Commits

Author SHA1 Message Date
Harald Welte 071d635fc6 iax: ENCRYPTION IE is 2 bytes, not 1 byte
yiax wrongly assumed that the ENCRYPTION IE is a single byte,
while in reality it is 16bit / 2 bytes.

It has been two bytes ever since it was introduced in Asterisk in 2004.

This misunderstanding probably arose from RFC5456 which erroneosly
states that the length of this IE is 0x01 while its body is 2 bytes
long (See Section 8.6.34 at https://datatracker.ietf.org/doc/html/rfc5456)
2023-09-19 18:29:40 +02:00
Harald Welte d313646712 iax: Support the new CALLINGANI2 IE
This was introduced in Asterisk IAX2 in
3072c540bb
2023-09-19 18:29:40 +02:00
Ioana Stanciu c56216f5a8 Updated copyright notices. 2023-05-23 17:01:06 +03:00
Ioana Stanciu ca129ad5ba Import SVN ignore propgs to git. 2023-02-17 16:53:39 +02:00
paulc 277e34b576 Renamed DebugGoOn to DebugCrit so it better matches its purpose.
Swapped order of DebugCall and DebugNote so DebugCall is less visible.
Changed default debug level to DebugNote.
Modified a few inadequate uses of DebugCrit.


git-svn-id: http://voip.null.ro/svn/yate@6250 acf43c95-373e-0410-b603-e72c3f656dc1
2017-08-01 13:08:23 +00:00
marian 5c12f5654e Make some explicit conversions to silence compiler warnings.
git-svn-id: http://voip.null.ro/svn/yate@5958 acf43c95-373e-0410-b603-e72c3f656dc1
2015-03-11 10:41:51 +00:00
paulc f4a12d2bc4 Added YIGNORE macro to silence compiler warnings about unused values.
Cleaned up a number of compiler warnings.


git-svn-id: http://voip.null.ro/svn/yate@5888 acf43c95-373e-0410-b603-e72c3f656dc1
2014-07-31 12:13:52 +00:00
paulc d56cecb40e Added copyright notices to sources and scripts missing them.
Updated copyright notices for 2014.
Fixed end of lines in many files.


git-svn-id: http://voip.null.ro/svn/yate@5755 acf43c95-373e-0410-b603-e72c3f656dc1
2014-02-05 11:42:17 +00:00
paulc 18e10bfd69 Changed license terms in each source file to reference an external file.
git-svn-id: http://voip.null.ro/svn/yate@5609 acf43c95-373e-0410-b603-e72c3f656dc1
2013-08-06 13:38:10 +00:00
paulc 22dcf9f53e Use Alarm() in places that could prevent normal operation.
This allows sending SNMP traps when parts of the service become non-operational.


git-svn-id: http://voip.null.ro/svn/yate@5569 acf43c95-373e-0410-b603-e72c3f656dc1
2013-07-08 12:21:26 +00:00
marian a222834104 Added support to negotiate gsm half rate on iax.
git-svn-id: http://voip.null.ro/svn/yate@5554 acf43c95-373e-0410-b603-e72c3f656dc1
2013-06-25 13:21:29 +00:00
marian 035e118599 Fixed bug: avoid rejecting a call when a full Voice frame is received before processing Accept.
git-svn-id: http://voip.null.ro/svn/yate@5551 acf43c95-373e-0410-b603-e72c3f656dc1
2013-06-24 09:13:17 +00:00
marian 3d86aa22d7 Added support for multiple iax listeners.
git-svn-id: http://voip.null.ro/svn/yate@5550 acf43c95-373e-0410-b603-e72c3f656dc1
2013-06-20 13:50:39 +00:00
marian 1135306cda Fixed race condition when (re)setting connection transaction pointer.
git-svn-id: http://voip.null.ro/svn/yate@5546 acf43c95-373e-0410-b603-e72c3f656dc1
2013-06-14 14:54:22 +00:00
marian dcada3a196 Added option to use efficient trunking: a transaction can now send trunking data only if the number of calls using the trunk is greater then 1.
git-svn-id: http://voip.null.ro/svn/yate@5544 acf43c95-373e-0410-b603-e72c3f656dc1
2013-06-14 12:31:31 +00:00
marian 38225640c2 Allow trunking parameters set in 'user.login' to override configured. Allow trunking out to be enabled in 'user.login'.
git-svn-id: http://voip.null.ro/svn/yate@5542 acf43c95-373e-0410-b603-e72c3f656dc1
2013-06-13 10:28:53 +00:00
marian f40f6abec0 Made sent challenge timeout interval configurable. Improved debug.
git-svn-id: http://voip.null.ro/svn/yate@5540 acf43c95-373e-0410-b603-e72c3f656dc1
2013-06-12 13:47:13 +00:00
marian eade500180 Fixed transaction timeout when waiting for terminate. improved debug.
git-svn-id: http://voip.null.ro/svn/yate@5539 acf43c95-373e-0410-b603-e72c3f656dc1
2013-06-12 12:17:20 +00:00
marian 02fe6c9d32 Send INVAL for all unmatched full frames except for INVAL.
git-svn-id: http://voip.null.ro/svn/yate@5538 acf43c95-373e-0410-b603-e72c3f656dc1
2013-06-11 14:03:57 +00:00
marian bda1e37157 Made configurable ping interval, frame retransmission counter and interval.
git-svn-id: http://voip.null.ro/svn/yate@5537 acf43c95-373e-0410-b603-e72c3f656dc1
2013-06-11 13:41:36 +00:00
marian 373c4c2033 Fixed bug: don't reject incoming calls with missing USERNAME IE, reject incoming (un)register requests with missing USERNAME IE. Improved debug.
git-svn-id: http://voip.null.ro/svn/yate@5536 acf43c95-373e-0410-b603-e72c3f656dc1
2013-06-11 10:23:22 +00:00
marian f414cd8a77 Implemented sending of trunk without miniframes timestamp. Fixed timestamp handling when processing trunk without miniframes timestamps. Check for thread termination when parsing lists tp process transactions and trunks.
git-svn-id: http://voip.null.ro/svn/yate@5535 acf43c95-373e-0410-b603-e72c3f656dc1
2013-06-11 08:57:46 +00:00
marian 48698ca93c Added some missing frame and IEs names to decoder.
git-svn-id: http://voip.null.ro/svn/yate@5529 acf43c95-373e-0410-b603-e72c3f656dc1
2013-06-05 15:00:20 +00:00
marian 673022ae0d Send missing required parameters in New and RegRej.
git-svn-id: http://voip.null.ro/svn/yate@5528 acf43c95-373e-0410-b603-e72c3f656dc1
2013-06-05 11:03:40 +00:00
marian 4773b1cbed Set and handle caller number type, presentation and screening.
git-svn-id: http://voip.null.ro/svn/yate@5527 acf43c95-373e-0410-b603-e72c3f656dc1
2013-06-05 09:57:42 +00:00
marian cb57c5c974 Properly send and handle call termination reason.
git-svn-id: http://voip.null.ro/svn/yate@5522 acf43c95-373e-0410-b603-e72c3f656dc1
2013-06-04 13:31:33 +00:00
marian b01157995e Fixed bug: terminate a rejected transaction when ACK is received.
git-svn-id: http://voip.null.ro/svn/yate@5520 acf43c95-373e-0410-b603-e72c3f656dc1
2013-06-04 11:02:20 +00:00
marian 97024655e2 Don't send refresh IE when unregistering.
git-svn-id: http://voip.null.ro/svn/yate@5515 acf43c95-373e-0410-b603-e72c3f656dc1
2013-06-03 14:50:18 +00:00
marian 1a5070799c Added calltoken support for outgoing registrations.
git-svn-id: http://voip.null.ro/svn/yate@5514 acf43c95-373e-0410-b603-e72c3f656dc1
2013-06-03 14:21:11 +00:00
marian 6d3d0d2a68 Start keep alive interval when line is registered. Allow configuring the interval.
git-svn-id: http://voip.null.ro/svn/yate@5513 acf43c95-373e-0410-b603-e72c3f656dc1
2013-06-03 14:03:04 +00:00
marian 93c858c5b9 Fixed bug: avoid leaking incoming registration transactions. Improved debug.
git-svn-id: http://voip.null.ro/svn/yate@5512 acf43c95-373e-0410-b603-e72c3f656dc1
2013-06-03 13:02:47 +00:00
marian dec8fcb588 Fixed timestamps for sent media: send timestamps using media source timestamp, sync audio timestamps with transaction timestamp.
git-svn-id: http://voip.null.ro/svn/yate@5511 acf43c95-373e-0410-b603-e72c3f656dc1
2013-06-03 07:50:14 +00:00
marian 41809cf352 Fixed bug: don't adjust Pong and LagRp timestamps: they must be sent with received request timestamp.
git-svn-id: http://voip.null.ro/svn/yate@5508 acf43c95-373e-0410-b603-e72c3f656dc1
2013-05-22 14:47:07 +00:00
marian 815a18b407 Properly handle trunk frames without miniframe timestamps.
git-svn-id: http://voip.null.ro/svn/yate@5344 acf43c95-373e-0410-b603-e72c3f656dc1
2012-12-07 15:41:13 +00:00
oana 8acbec4416 Bug fix: acknowledge CONTROL frame types, don't rely on acknowledging the retransmission.
git-svn-id: http://voip.null.ro/svn/yate@5285 acf43c95-373e-0410-b603-e72c3f656dc1
2012-09-26 14:10:09 +00:00
oana e7b6e1a219 Fix for bug introduced in rev.5211: also check for frame type when looking for late PINGs/PONGs.
Avoids matching on a RINGING frame and not acknowledging it.



git-svn-id: http://voip.null.ro/svn/yate@5284 acf43c95-373e-0410-b603-e72c3f656dc1
2012-09-26 14:04:43 +00:00
oana 5180f37fe7 Added special handling for late PING/PONG frames.
git-svn-id: http://voip.null.ro/svn/yate@5211 acf43c95-373e-0410-b603-e72c3f656dc1
2012-07-24 14:24:24 +00:00
oana 047c411a6b Don't clear incoming frames queue, avoids losing received ACKs.
git-svn-id: http://voip.null.ro/svn/yate@5210 acf43c95-373e-0410-b603-e72c3f656dc1
2012-07-24 14:11:41 +00:00
oana a94e3dd447 Never reject processing an INVAL frame.
git-svn-id: http://voip.null.ro/svn/yate@5209 acf43c95-373e-0410-b603-e72c3f656dc1
2012-07-24 14:07:10 +00:00
oana 2baff58dac Don't increment output sequence number when sending an INVAL.
git-svn-id: http://voip.null.ro/svn/yate@5208 acf43c95-373e-0410-b603-e72c3f656dc1
2012-07-24 14:02:24 +00:00
oana 1ceb36f16d Always try to adjust timestamps when sending frames.
git-svn-id: http://voip.null.ro/svn/yate@5198 acf43c95-373e-0410-b603-e72c3f656dc1
2012-07-13 14:19:19 +00:00
oana aa7cf9b3bf Bug fix: Send ACK when receiving ANSWER, don't send ACK when receiving INVAL.
git-svn-id: http://voip.null.ro/svn/yate@5197 acf43c95-373e-0410-b603-e72c3f656dc1
2012-07-13 14:13:01 +00:00
oana b585521133 Bug fix: don't search an ACK for a sent PING.
git-svn-id: http://voip.null.ro/svn/yate@5196 acf43c95-373e-0410-b603-e72c3f656dc1
2012-07-13 14:01:12 +00:00
oana 1981eeaf15 Bug fix: don't terminate a transaction until an ACK is received which matches the sent HANGUP frame.
git-svn-id: http://voip.null.ro/svn/yate@5195 acf43c95-373e-0410-b603-e72c3f656dc1
2012-07-13 13:52:40 +00:00
oana 02e5bbafae Bug fix: don't refuse INVAL/VNAK frames even if a HANGUP has been sent for a transaction.
git-svn-id: http://voip.null.ro/svn/yate@5194 acf43c95-373e-0410-b603-e72c3f656dc1
2012-07-13 13:43:26 +00:00
oana 84425f1199 Send an INVAL frame when receiving a frame for an unknown transaction.
git-svn-id: http://voip.null.ro/svn/yate@5193 acf43c95-373e-0410-b603-e72c3f656dc1
2012-07-13 13:27:02 +00:00
oana 51546ba933 Bug fix: don't remove a frame unless it matches with a received ACK.
git-svn-id: http://voip.null.ro/svn/yate@5192 acf43c95-373e-0410-b603-e72c3f656dc1
2012-07-13 13:13:16 +00:00
oana 236feb7ba1 Bug fix: after the last retransmission of a frame, wait for a while for an answer before destroying the transaction. Changed debug level for message regarding media transmission.
git-svn-id: http://voip.null.ro/svn/yate@5191 acf43c95-373e-0410-b603-e72c3f656dc1
2012-07-13 12:49:44 +00:00
oana a5dd14a0cf Bug fix: use ObjList::skipNext() instead of ObjList::next() in order to avoid segmentation fault.
git-svn-id: http://voip.null.ro/svn/yate@5153 acf43c95-373e-0410-b603-e72c3f656dc1
2012-06-26 13:49:53 +00:00
oana c1b3f8462c Bug fix: set media source in a thread safe way. Use new CallEndpoint API.
git-svn-id: http://voip.null.ro/svn/yate@5148 acf43c95-373e-0410-b603-e72c3f656dc1
2012-06-25 12:57:36 +00:00