Commit graph

414 commits

Author SHA1 Message Date
paulc
84a3ef7eea Pick up any new formats (even if not negotiated before) in RTP forward mode.
git-svn-id: http://voip.null.ro/svn/yate@4417 acf43c95-373e-0410-b603-e72c3f656dc1
2011-05-28 12:43:15 +00:00
paulc
ffded5390e Add the billid parameter to SIP generated user.auth messages.
git-svn-id: http://voip.null.ro/svn/yate@4396 acf43c95-373e-0410-b603-e72c3f656dc1
2011-05-19 11:21:30 +00:00
paulc
2ae8c1764d Added support for altering the reason and error code of SIP Registrar answers.
git-svn-id: http://voip.null.ro/svn/yate@4382 acf43c95-373e-0410-b603-e72c3f656dc1
2011-05-17 11:12:37 +00:00
paulc
0a393ea086 Copy UAS SIP headers between user.register and REGISTER messages and answers.
In UAC mode copy returned headers from REGISTER answer to user.notify message.


git-svn-id: http://voip.null.ro/svn/yate@4380 acf43c95-373e-0410-b603-e72c3f656dc1
2011-05-17 10:20:16 +00:00
paulc
bac2e503df Use the proxy address if domain is not set for outbound calls.
git-svn-id: http://voip.null.ro/svn/yate@4372 acf43c95-373e-0410-b603-e72c3f656dc1
2011-05-12 20:55:26 +00:00
paulc
97dae7ffa3 Allow setting arbitrary SIP headers in rejected calls.
git-svn-id: http://voip.null.ro/svn/yate@4371 acf43c95-373e-0410-b603-e72c3f656dc1
2011-05-12 20:29:27 +00:00
paulc
8985bd2e55 Allow copying parameters starting with authfail_ from failed user.auth messages.
git-svn-id: http://voip.null.ro/svn/yate@4370 acf43c95-373e-0410-b603-e72c3f656dc1
2011-05-12 19:26:15 +00:00
paulc
ed8f5fca8e Added more mappings for SIP responses to improve mapping to ISUP and ISDN.
git-svn-id: http://voip.null.ro/svn/yate@4360 acf43c95-373e-0410-b603-e72c3f656dc1
2011-05-05 12:43:40 +00:00
paulc
05025b8d22 Base64 decode and encode binary bodies in generic SIP messages.
git-svn-id: http://voip.null.ro/svn/yate@4356 acf43c95-373e-0410-b603-e72c3f656dc1
2011-05-04 11:07:05 +00:00
marian
5aa5883660 Changed the name of the functions encoding and decoding isup bodies to fix scope related compile errors in VC++.
git-svn-id: http://voip.null.ro/svn/yate@4355 acf43c95-373e-0410-b603-e72c3f656dc1
2011-05-04 10:47:17 +00:00
paulc
9837c35be8 Renamed SIP parameter "transport" to "ip_transport" because of collision with audio media transport.
Fixed lack of media bug introduced by Rev 4349.


git-svn-id: http://voip.null.ro/svn/yate@4353 acf43c95-373e-0410-b603-e72c3f656dc1
2011-05-04 09:01:43 +00:00
paulc
59a857ef3e Detect generic SIP messages coming from registered accounts, set in_line and skip authentication if so.
Decode more info from the incoming generic messages.


git-svn-id: http://voip.null.ro/svn/yate@4349 acf43c95-373e-0410-b603-e72c3f656dc1
2011-04-28 10:36:48 +00:00
paulc
80e58d6914 Fix the hangup of incoming SIP calls that didn't had the dialog tag updated.
This could happen if a call was dropped immediately after being answered.


git-svn-id: http://voip.null.ro/svn/yate@4333 acf43c95-373e-0410-b603-e72c3f656dc1
2011-04-20 18:41:14 +00:00
paulc
1350c52677 Fixed a number of concurrency issues regarding reINVITE processing.
git-svn-id: http://voip.null.ro/svn/yate@4332 acf43c95-373e-0410-b603-e72c3f656dc1
2011-04-20 18:38:30 +00:00
paulc
23bee28ded Terminate a SIP call for which we had a timeout on a reINVITE as media state becomes uncertain.
Bug report and patch provided by Matthew.


git-svn-id: http://voip.null.ro/svn/yate@4310 acf43c95-373e-0410-b603-e72c3f656dc1
2011-04-18 11:17:50 +00:00
paulc
74178c73fc Clear the initiated reINVITE transaction on completion, allow further reINVITEs.
Bug report and patch provided by Matthew.


git-svn-id: http://voip.null.ro/svn/yate@4309 acf43c95-373e-0410-b603-e72c3f656dc1
2011-04-18 11:03:23 +00:00
paulc
3736466398 The default RFC 2833 payload can be configured and overriden per call.
git-svn-id: http://voip.null.ro/svn/yate@4287 acf43c95-373e-0410-b603-e72c3f656dc1
2011-04-12 15:41:49 +00:00
paulc
7d6644c96e Decode MIME type message/sipfrag as lines of text.
Allow generic processing of SIP INFO messages that are not used for DTMFs.
Properly add lines of text bodies to generic SIP messages.


git-svn-id: http://voip.null.ro/svn/yate@4273 acf43c95-373e-0410-b603-e72c3f656dc1
2011-04-07 12:16:12 +00:00
paulc
5bcf9bba3e Honor an earlymedia=false parameter even when using RTP forwarding.
git-svn-id: http://voip.null.ro/svn/yate@4267 acf43c95-373e-0410-b603-e72c3f656dc1
2011-04-06 09:13:16 +00:00
oana
7a374f6c37 Fixed checking if a engine.status module is indeed intended for that module. Fixed bug: don't print for a second time the status message for IAX module.
git-svn-id: http://voip.null.ro/svn/yate@4221 acf43c95-373e-0410-b603-e72c3f656dc1
2011-03-28 12:40:44 +00:00
paulc
95e866418e Sanitize the custom SIP cause codes, must be >= 300.
Allow altering the SIP code in the chan.disconnected message.


git-svn-id: http://voip.null.ro/svn/yate@4195 acf43c95-373e-0410-b603-e72c3f656dc1
2011-03-18 14:03:42 +00:00
paulc
3228166268 Leave the tel: URIs untouched when sent on an outbound SIP call.
Also don't add sip: in front of sip:number URIs (we turned to sip:sip:number).


git-svn-id: http://voip.null.ro/svn/yate@4194 acf43c95-373e-0410-b603-e72c3f656dc1
2011-03-18 13:14:36 +00:00
paulc
5e47c82025 Moved the post-disconnect hooking code from ysigchan to the Channel class.
Added capability of sending arbitrary SIP headers on call disconnect.


git-svn-id: http://voip.null.ro/svn/yate@4193 acf43c95-373e-0410-b603-e72c3f656dc1
2011-03-17 20:57:34 +00:00
paulc
b2283a0c2e Added flags that control how SIP message components are automatically completed.
These flags can be configured per engine and can be overridden in some messages by setting an "xsip_flags" parameter.


git-svn-id: http://voip.null.ro/svn/yate@4161 acf43c95-373e-0410-b603-e72c3f656dc1
2011-03-07 13:50:59 +00:00
paulc
9cb25fc845 Added capability to set response code and additional parameters when redirecting a SIP call as UAS.
git-svn-id: http://voip.null.ro/svn/yate@4149 acf43c95-373e-0410-b603-e72c3f656dc1
2011-03-02 16:58:22 +00:00
paulc
233a5f74a1 Copy SIP headers and decode ISUP (SIP-T/SIP-I) body to disconnect parameters.
Parameters are put in local chan.hangup and peer's chan.disconnected messages.


git-svn-id: http://voip.null.ro/svn/yate@4142 acf43c95-373e-0410-b603-e72c3f656dc1
2011-03-01 16:08:52 +00:00
paulc
8b851caa08 Translate between SIP Remote-Party-ID fields "party" and "id-type" and Yate parameters "remote_party" and "remote_id_type".
git-svn-id: http://voip.null.ro/svn/yate@4083 acf43c95-373e-0410-b603-e72c3f656dc1
2011-01-28 13:53:30 +00:00
paulc
fa661af327 Automatically copy disconnect parameters to the chan.hangup message.
Provide those parameters to the peer call endpoint when disconnecting it.
Add numeric cause_q931 to disconnect params of h323chan.


git-svn-id: http://voip.null.ro/svn/yate@4052 acf43c95-373e-0410-b603-e72c3f656dc1
2011-01-21 10:21:01 +00:00
oana
5abf18900b Changed the format of the accounts, links and interfaces status reported through engine.status. Added accountUsername OID. Modified the monitoring module to deal with the status change and the need to handle the accountUsername OID information.
git-svn-id: http://voip.null.ro/svn/yate@3938 acf43c95-373e-0410-b603-e72c3f656dc1
2010-12-09 14:30:47 +00:00
oana
55813dcbe3 Added SNMP support.
git-svn-id: http://voip.null.ro/svn/yate@3776 acf43c95-373e-0410-b603-e72c3f656dc1
2010-11-03 16:27:30 +00:00
paulc
e8f806c950 Added thread priority setting for the SIP module.
git-svn-id: http://voip.null.ro/svn/yate@3753 acf43c95-373e-0410-b603-e72c3f656dc1
2010-10-25 13:13:35 +00:00
paulc
b19d86b8e0 Made several Regexps static const so they are compiled only once, speeds up processing.
One instance spotted by Allan Sandfeld Jensen, others by grep.


git-svn-id: http://voip.null.ro/svn/yate@3389 acf43c95-373e-0410-b603-e72c3f656dc1
2010-06-17 11:08:00 +00:00
paulc
629339b292 Check the line before using it to alter the domain.
git-svn-id: http://voip.null.ro/svn/yate@3245 acf43c95-373e-0410-b603-e72c3f656dc1
2010-04-26 21:30:28 +00:00
paulc
cf29c804f9 Added support for detecting the domain of incoming SIP requests, gets copied to the generic "domain" parameter.
git-svn-id: http://voip.null.ro/svn/yate@3242 acf43c95-373e-0410-b603-e72c3f656dc1
2010-04-26 13:38:03 +00:00
paulc
9e7255048f Allow setting the outbound SIP proxy as host:port
git-svn-id: http://voip.null.ro/svn/yate@3209 acf43c95-373e-0410-b603-e72c3f656dc1
2010-04-19 13:25:08 +00:00
paulc
543d105246 Emit a BYE only if we have a SIP dialog - either early or established.
git-svn-id: http://voip.null.ro/svn/yate@3175 acf43c95-373e-0410-b603-e72c3f656dc1
2010-04-08 22:49:58 +00:00
paulc
2fc128e21e Store initially guessed local address, re-register only if it changed.
git-svn-id: http://voip.null.ro/svn/yate@3172 acf43c95-373e-0410-b603-e72c3f656dc1
2010-04-07 11:27:30 +00:00
paulc
1c9e786a74 Lock the module while accessing or changing SIP dialog information.
git-svn-id: http://voip.null.ro/svn/yate@3125 acf43c95-373e-0410-b603-e72c3f656dc1
2010-03-12 16:25:37 +00:00
paulc
638ffc277c Copy RTP stats in SIP to the CDR and to BYE or 200 message.
git-svn-id: http://voip.null.ro/svn/yate@3106 acf43c95-373e-0410-b603-e72c3f656dc1
2010-03-03 19:05:01 +00:00
paulc
98df7e335f Preserve the Call-ID across REGISTER messages in a single login session.
git-svn-id: http://voip.null.ro/svn/yate@3096 acf43c95-373e-0410-b603-e72c3f656dc1
2010-02-23 18:22:59 +00:00
paulc
8be9e9991a Add the REGISTER request URI and Call-ID to the user.(un)register messages.
git-svn-id: http://voip.null.ro/svn/yate@3063 acf43c95-373e-0410-b603-e72c3f656dc1
2010-02-02 23:59:54 +00:00
paulc
33a98e83aa Added Channel::initChan() method to add the channel to the driver explicitely, after the object is fully constructed.
git-svn-id: http://voip.null.ro/svn/yate@3033 acf43c95-373e-0410-b603-e72c3f656dc1
2010-01-26 10:31:32 +00:00
paulc
455b6dbf81 Automatically reset the maxcall timer when entering "answered" status.
git-svn-id: http://voip.null.ro/svn/yate@2991 acf43c95-373e-0410-b603-e72c3f656dc1
2009-12-18 19:08:41 +00:00
paulc
6a433cfe25 Copy by default some parameters from call.execute to chan.startup of outgoing calls.
git-svn-id: http://voip.null.ro/svn/yate@2964 acf43c95-373e-0410-b603-e72c3f656dc1
2009-11-25 18:34:54 +00:00
paulc
84b7cefe3d Emit call.update only when the SIP dialog tags have changed.
Avoids flooding the system with useless call.update and call.cdr messages.


git-svn-id: http://voip.null.ro/svn/yate@2874 acf43c95-373e-0410-b603-e72c3f656dc1
2009-10-21 14:10:47 +00:00
paulc
3624562f55 Added an extra parameter to SDPSession::updateFormats() allowing it to add or remove media.
Use the SDPSession::updateFormats() method in SIP instead of reimplementing it.


git-svn-id: http://voip.null.ro/svn/yate@2873 acf43c95-373e-0410-b603-e72c3f656dc1
2009-10-20 22:54:56 +00:00
paulc
6620daff86 Chain the debugging of the SIP engine to the SIP channels plugin.
git-svn-id: http://voip.null.ro/svn/yate@2867 acf43c95-373e-0410-b603-e72c3f656dc1
2009-10-16 12:04:32 +00:00
paulc
f9e2c83d85 Fixed the way the SIP transaction answer code is returned to xsip.generate, it wasn't dealing well with timeouts.
While waiting for the arbitrary transaction to finish call Thread::idle() instead of yield().


git-svn-id: http://voip.null.ro/svn/yate@2845 acf43c95-373e-0410-b603-e72c3f656dc1
2009-09-18 11:17:50 +00:00
paulc
657c2fef63 Dispatch a chan.rtp with terminate=true when a SIP media is removed or replaced.
Added several channel parameters to the chan.rtp message.


git-svn-id: http://voip.null.ro/svn/yate@2839 acf43c95-373e-0410-b603-e72c3f656dc1
2009-09-14 18:52:53 +00:00
paulc
cea5f52b61 Provide the entire SDPMedia to the mediaChanged() mthod, not only the name of the media.
Add the "rtpid" parameter to the chan.rtp message if the media id() is available.


git-svn-id: http://voip.null.ro/svn/yate@2832 acf43c95-373e-0410-b603-e72c3f656dc1
2009-09-14 09:06:16 +00:00
paulc
6857c9b34b Use the newly added SIPDialog methods.
Identify the dialogs RFC 3261 style (only by Call-ID, From-tag, To-tag) ignoring the From-URI and To-URI.


git-svn-id: http://voip.null.ro/svn/yate@2824 acf43c95-373e-0410-b603-e72c3f656dc1
2009-09-06 15:00:22 +00:00
paulc
555f945213 Fixed a few bugs introduced by Rev. 2805: Clear the data endpoints when the transport info changes, use the proper default audio formats when none specified.
git-svn-id: http://voip.null.ro/svn/yate@2818 acf43c95-373e-0410-b603-e72c3f656dc1
2009-09-01 15:18:21 +00:00
paulc
aaa1c2048d Use the new SDP library in SIP and MGCP.
The PSTN channel can negotiate RTP forwarding if the circuits are terminated on a MGCP gateway.


git-svn-id: http://voip.null.ro/svn/yate@2805 acf43c95-373e-0410-b603-e72c3f656dc1
2009-08-24 12:09:34 +00:00
paulc
645a72b5d7 Process a 2xx answer to a forked SIP call after changing the disalog tag to match.
git-svn-id: http://voip.null.ro/svn/yate@2792 acf43c95-373e-0410-b603-e72c3f656dc1
2009-08-14 12:52:40 +00:00
paulc
07daf0aa54 In the outbound SIP call legs put the generated Call-ID in chan.startup to be available for CDR building.
git-svn-id: http://voip.null.ro/svn/yate@2788 acf43c95-373e-0410-b603-e72c3f656dc1
2009-08-13 11:39:44 +00:00
paulc
71f34fd5cf Added code and setting to prevent rebuilding the RTP when only the remote port has changed in the SDP offer.
This can prevent a neverending sequence of reINVITEs, each end trying to adjust to the changes of the other.


git-svn-id: http://voip.null.ro/svn/yate@2786 acf43c95-373e-0410-b603-e72c3f656dc1
2009-08-12 15:18:36 +00:00
paulc
c56c469f0f Use the platform idle time in various sleeps in SIP and Jabber.
Fixed a compiler warning about the copy constructor of Mutex and 
Semaphore.


git-svn-id: http://voip.null.ro/svn/yate@2763 acf43c95-373e-0410-b603-e72c3f656dc1
2009-07-22 15:41:28 +00:00
paulc
c4b6af8c24 Obey expires interval enforced by the SIP registrar.
git-svn-id: http://voip.null.ro/svn/yate@2749 acf43c95-373e-0410-b603-e72c3f656dc1
2009-07-07 10:29:32 +00:00
paulc
d92348b8a2 New parameter "rtp_localip" overrides configured local RTP address for outbound SIP call legs.
git-svn-id: http://voip.null.ro/svn/yate@2740 acf43c95-373e-0410-b603-e72c3f656dc1
2009-06-26 15:33:22 +00:00
paulc
85ef8e4d49 Changed thread names to be uniform and easily readable.
git-svn-id: http://voip.null.ro/svn/yate@2733 acf43c95-373e-0410-b603-e72c3f656dc1
2009-06-22 14:48:26 +00:00
paulc
eb2a9cd5e0 Fixed warnings and a few minor bugs when compiling on a different architecture.
git-svn-id: http://voip.null.ro/svn/yate@2724 acf43c95-373e-0410-b603-e72c3f656dc1
2009-06-19 11:19:20 +00:00
paulc
ba98f4f9fe Fixed filtering of SDP parameters in case of using RTP forward.
The local RTP case was fixed in Rev. 2606.


git-svn-id: http://voip.null.ro/svn/yate@2654 acf43c95-373e-0410-b603-e72c3f656dc1
2009-05-27 14:34:35 +00:00
paulc
2f86089c56 Add the sip: protocol on outgoing calls if none is specified.
git-svn-id: http://voip.null.ro/svn/yate@2648 acf43c95-373e-0410-b603-e72c3f656dc1
2009-05-22 18:15:48 +00:00
paulc
054a622c4d Deal better with SIP transaction timeouts, map 408 to "noconn" but add raw cause code to disconnect() and chan.hangup message.
git-svn-id: http://voip.null.ro/svn/yate@2621 acf43c95-373e-0410-b603-e72c3f656dc1
2009-05-10 11:50:00 +00:00
paulc
ce39c88d1f Fixed parsing of non-RTP transports in SDP as those don't use payload codes or format maps.
git-svn-id: http://voip.null.ro/svn/yate@2606 acf43c95-373e-0410-b603-e72c3f656dc1
2009-04-30 12:32:39 +00:00
paulc
b7d71871e3 If an early RTP start is requested but media list is unknown build a best guess.
Patch by Peter Olsson - support for 3Com NBX PBX.


git-svn-id: http://voip.null.ro/svn/yate@2604 acf43c95-373e-0410-b603-e72c3f656dc1
2009-04-29 22:07:44 +00:00
paulc
589d7a9bef Support for RFC 4568 (SRTP security descriptors in SIP/SDP).
git-svn-id: http://voip.null.ro/svn/yate@2557 acf43c95-373e-0410-b603-e72c3f656dc1
2009-04-01 20:16:36 +00:00
paulc
46d19513de Support for RFC 3323 SIP Privacy header in addition to Remote-Party-ID.
git-svn-id: http://voip.null.ro/svn/yate@2555 acf43c95-373e-0410-b603-e72c3f656dc1
2009-03-31 20:23:46 +00:00
paulc
893d7a00be Made generation of outgoing INVITE Diversion header more flexible.
git-svn-id: http://voip.null.ro/svn/yate@2553 acf43c95-373e-0410-b603-e72c3f656dc1
2009-03-30 10:29:29 +00:00
paulc
535a559422 Added an explicit boolean redirect parameter to simplify detecting a redirection or diversion.
git-svn-id: http://voip.null.ro/svn/yate@2551 acf43c95-373e-0410-b603-e72c3f656dc1
2009-03-29 18:37:32 +00:00
paulc
59261b3b58 Handle the Diversion header and its most important parameters.
If a 3xx answer is received copy the relevant info in the chan.disconnected message so the redirect can be followed.


git-svn-id: http://voip.null.ro/svn/yate@2550 acf43c95-373e-0410-b603-e72c3f656dc1
2009-03-29 18:20:41 +00:00
marian
97384644fb Route attended transfer when requested dialog is unknown.
git-svn-id: http://voip.null.ro/svn/yate@2521 acf43c95-373e-0410-b603-e72c3f656dc1
2009-03-11 12:22:52 +00:00
paulc
654958077e In call dialog messages can be sent with xsip.generate by specifying an "id" parameter matching the channel id.
git-svn-id: http://voip.null.ro/svn/yate@2510 acf43c95-373e-0410-b603-e72c3f656dc1
2009-03-04 16:53:26 +00:00
marian
21563437d9 The module is now handling the REFER method with attended transfer requests. The connection maps the 'diverter' parameter to/from 'Referred-By' header.
git-svn-id: http://voip.null.ro/svn/yate@2508 acf43c95-373e-0410-b603-e72c3f656dc1
2009-03-03 12:35:06 +00:00
paulc
21efcd84f6 Receive buffer size for SIP UDP packets is now configurable.
git-svn-id: http://voip.null.ro/svn/yate@2468 acf43c95-373e-0410-b603-e72c3f656dc1
2009-02-02 16:09:02 +00:00
paulc
11be667dae Trigger NAT detection if registration port changes
git-svn-id: http://voip.null.ro/svn/yate@2425 acf43c95-373e-0410-b603-e72c3f656dc1
2009-01-12 20:24:50 +00:00
paulc
6e12892f68 Deref "no answer requested" message after handing it to the SIP engine.
git-svn-id: http://voip.null.ro/svn/yate@2414 acf43c95-373e-0410-b603-e72c3f656dc1
2009-01-06 18:09:41 +00:00
paulc
39d434193f Remove any spaces around signal code for INFO with type application/dtmf.
git-svn-id: http://voip.null.ro/svn/yate@2404 acf43c95-373e-0410-b603-e72c3f656dc1
2008-12-19 14:21:01 +00:00
paulc
1d8ec17dab Unquote received termination reason text.
git-svn-id: http://voip.null.ro/svn/yate@2362 acf43c95-373e-0410-b603-e72c3f656dc1
2008-11-24 18:35:56 +00:00
paulc
df4cb7b6a9 Use the MIME quoting method instead of blindly adding quotes around strings.
git-svn-id: http://voip.null.ro/svn/yate@2344 acf43c95-373e-0410-b603-e72c3f656dc1
2008-11-17 12:38:17 +00:00
paulc
eb3e14ef92 Get the "username" parameter from Contact if REGISTER is not authenticated.
git-svn-id: http://voip.null.ro/svn/yate@2277 acf43c95-373e-0410-b603-e72c3f656dc1
2008-10-21 16:21:51 +00:00
paulc
acd46e9494 Process SIP REGISTER (user.auth, user.[un]register) in a separate thread.
git-svn-id: http://voip.null.ro/svn/yate@2164 acf43c95-373e-0410-b603-e72c3f656dc1
2008-08-15 12:15:02 +00:00
paulc
e2320a8e98 Do not send DTMF as RFC 2833 if the other party did not indicate a payload.
Fall back to INFO if the RTP is not local and active.


git-svn-id: http://voip.null.ro/svn/yate@2152 acf43c95-373e-0410-b603-e72c3f656dc1
2008-08-11 13:50:37 +00:00
paulc
4d8ec63ac6 Added capability to skip the initial "100 Trying" for non-INVITE transactions.
git-svn-id: http://voip.null.ro/svn/yate@2146 acf43c95-373e-0410-b603-e72c3f656dc1
2008-08-06 17:16:34 +00:00
paulc
0205f0b6da Add the text body of generic requests to the Yate message.
Check for looping in generic requests and generated messages.


git-svn-id: http://voip.null.ro/svn/yate@2095 acf43c95-373e-0410-b603-e72c3f656dc1
2008-07-24 14:22:19 +00:00
paulc
5028b01139 Added capability to route to "line/..." no matter what protocol it uses.
Added driver method to query the existence of a line, use it in routing.


git-svn-id: http://voip.null.ro/svn/yate@2073 acf43c95-373e-0410-b603-e72c3f656dc1
2008-07-16 09:48:49 +00:00
paulc
78a636c49c Support for octet aligned AMR-NB RTP payload.
git-svn-id: http://voip.null.ro/svn/yate@2028 acf43c95-373e-0410-b603-e72c3f656dc1
2008-06-16 08:03:54 +00:00
paulc
6f0a39a674 Added "privacy_..." parameters to get/set the URI in Remote-Party-ID.
git-svn-id: http://voip.null.ro/svn/yate@2014 acf43c95-373e-0410-b603-e72c3f656dc1
2008-06-04 15:29:53 +00:00
paulc
115f88d2eb Allow early media (SDP in 1xx messages) to change the formats list.
git-svn-id: http://voip.null.ro/svn/yate@1979 acf43c95-373e-0410-b603-e72c3f656dc1
2008-05-10 17:17:11 +00:00
paulc
bc74eefad4 Recognize G729a as an alias of G729 (invalid but used by Sipura / Linksys).
git-svn-id: http://voip.null.ro/svn/yate@1978 acf43c95-373e-0410-b603-e72c3f656dc1
2008-05-10 17:07:01 +00:00
paulc
d3408a2531 Added missing NULL checks for SDP parameters spotted by Alex Vostrikov.
git-svn-id: http://voip.null.ro/svn/yate@1957 acf43c95-373e-0410-b603-e72c3f656dc1
2008-04-29 14:09:55 +00:00
paulc
f04087500c Added capability to mark or block duplicate DTMFs detected by different methods.
git-svn-id: http://voip.null.ro/svn/yate@1954 acf43c95-373e-0410-b603-e72c3f656dc1
2008-04-25 13:11:49 +00:00
paulc
874f5f7fbb Provide RFC 2833 payload code information in messages.
git-svn-id: http://voip.null.ro/svn/yate@1953 acf43c95-373e-0410-b603-e72c3f656dc1
2008-04-25 10:39:32 +00:00
paulc
40e991bbfa Decide the media format once we start RTP, even if early.
git-svn-id: http://voip.null.ro/svn/yate@1951 acf43c95-373e-0410-b603-e72c3f656dc1
2008-04-24 15:03:24 +00:00
paulc
5b1af73590 Added DTMF detection method to chan.dtmf messages.
git-svn-id: http://voip.null.ro/svn/yate@1943 acf43c95-373e-0410-b603-e72c3f656dc1
2008-04-23 22:50:20 +00:00
paulc
82b2b6b2aa Preserve media (RTP) sessions across reINVITEs if remote offer is unchanged.
git-svn-id: http://voip.null.ro/svn/yate@1938 acf43c95-373e-0410-b603-e72c3f656dc1
2008-04-22 17:33:48 +00:00
paulc
3eb094f436 Arbitrary SDP parameters are kept and forwarded with media info.
git-svn-id: http://voip.null.ro/svn/yate@1935 acf43c95-373e-0410-b603-e72c3f656dc1
2008-04-18 14:31:17 +00:00
paulc
b24c34c97c Fixed bug in retriving RTP payload mappings from Yate message.
git-svn-id: http://voip.null.ro/svn/yate@1917 acf43c95-373e-0410-b603-e72c3f656dc1
2008-04-16 20:16:35 +00:00
paulc
62335f1e00 Forward call drop reason to the local call leg.
git-svn-id: http://voip.null.ro/svn/yate@1908 acf43c95-373e-0410-b603-e72c3f656dc1
2008-04-15 14:16:27 +00:00
paulc
c0e116d5eb SIP headers can be controlled in provisional or final answers.
git-svn-id: http://voip.null.ro/svn/yate@1907 acf43c95-373e-0410-b603-e72c3f656dc1
2008-04-15 12:56:52 +00:00
paulc
38334a727c Detect and drop the calls for which a proper transaction ACK was not received.
git-svn-id: http://voip.null.ro/svn/yate@1892 acf43c95-373e-0410-b603-e72c3f656dc1
2008-04-10 18:08:40 +00:00
paulc
b849aff8ff Added default payload for speex[-wb] and AMR[-[U]WB]
git-svn-id: http://voip.null.ro/svn/yate@1884 acf43c95-373e-0410-b603-e72c3f656dc1
2008-04-09 15:25:50 +00:00
paulc
acd20f6e93 Don't update to a single codec not in our offer
git-svn-id: http://voip.null.ro/svn/yate@1878 acf43c95-373e-0410-b603-e72c3f656dc1
2008-04-04 09:49:48 +00:00
paulc
e7a2a6b546 Added parantheses around conditional.
git-svn-id: http://voip.null.ro/svn/yate@1743 acf43c95-373e-0410-b603-e72c3f656dc1
2008-02-29 18:57:21 +00:00
paulc
cc9ed996f6 Append the pseudoformat g729b to indicate G.729 Annex B support.
git-svn-id: http://voip.null.ro/svn/yate@1742 acf43c95-373e-0410-b603-e72c3f656dc1
2008-02-29 18:38:51 +00:00
paulc
dc29d8392e Allow media formats to be altered when the called party answers.
git-svn-id: http://voip.null.ro/svn/yate@1741 acf43c95-373e-0410-b603-e72c3f656dc1
2008-02-29 18:19:21 +00:00
paulc
942a4c4750 Remove failed media from offer instead of dropping the SDP.
git-svn-id: http://voip.null.ro/svn/yate@1738 acf43c95-373e-0410-b603-e72c3f656dc1
2008-02-28 13:05:43 +00:00
paulc
c27fdea513 Trim off any blanks surrounding the signal name in application/dtmf-relay body.
git-svn-id: http://voip.null.ro/svn/yate@1725 acf43c95-373e-0410-b603-e72c3f656dc1
2008-02-14 10:36:27 +00:00
paulc
76594d075e Handle DTMF INFO that don't integer encode signals (reported by Dave Giffin).
git-svn-id: http://voip.null.ro/svn/yate@1724 acf43c95-373e-0410-b603-e72c3f656dc1
2008-02-14 09:41:10 +00:00
marian
6f1c08455a Add message-prefix parameter before dispatching isup.decode.
git-svn-id: http://voip.null.ro/svn/yate@1695 acf43c95-373e-0410-b603-e72c3f656dc1
2008-01-28 15:14:53 +00:00
marian
70b9e02715 Dispatch isup.encode only if message-type parameter is present.
git-svn-id: http://voip.null.ro/svn/yate@1670 acf43c95-373e-0410-b603-e72c3f656dc1
2008-01-25 12:32:08 +00:00
paulc
99e11c17bd Don't report flood during shutdown, we are tearing down lots of calls.
git-svn-id: http://voip.null.ro/svn/yate@1662 acf43c95-373e-0410-b603-e72c3f656dc1
2008-01-23 17:01:13 +00:00
marian
f640e55a86 Added support to send multipart bodies (with isup messages).
git-svn-id: http://voip.null.ro/svn/yate@1658 acf43c95-373e-0410-b603-e72c3f656dc1
2008-01-23 16:01:51 +00:00
marian
faf1d02d92 Use a NamedPointer to request isup buffer decoding.
git-svn-id: http://voip.null.ro/svn/yate@1645 acf43c95-373e-0410-b603-e72c3f656dc1
2008-01-17 15:54:56 +00:00
paulc
25dbed9cde Performance improvments suggested by Allan Sandfeld:
Change order of transaction to match most recent ones first.
Don't wait in select in SIP channel if we had events last loop.


git-svn-id: http://voip.null.ro/svn/yate@1631 acf43c95-373e-0410-b603-e72c3f656dc1
2008-01-15 15:15:44 +00:00
marian
55357d52d9 Added support to decode ISUP messages received in application/isup bodies
git-svn-id: http://voip.null.ro/svn/yate@1628 acf43c95-373e-0410-b603-e72c3f656dc1
2008-01-14 15:53:52 +00:00
marian
ea0d8dc407 Now the module is handling the SDP received in a multipart body (only the first SDP body, regardless the multipart subtype).
git-svn-id: http://voip.null.ro/svn/yate@1624 acf43c95-373e-0410-b603-e72c3f656dc1
2008-01-14 12:06:08 +00:00
marian
648b9c82b1 Moved header classes and some utilities from SIP to MIME. Updated SIP module and library to reflect the changes.
git-svn-id: http://voip.null.ro/svn/yate@1599 acf43c95-373e-0410-b603-e72c3f656dc1
2008-01-08 12:29:12 +00:00
paulc
e83cee0e28 Added capability to disable RFC 2833 telephone-event offering.
git-svn-id: http://voip.null.ro/svn/yate@1529 acf43c95-373e-0410-b603-e72c3f656dc1
2007-12-10 22:07:21 +00:00
paulc
c4eecf9846 Fixed Remote-Party-ID generation, allow creating From without user part by unsetting the caller parameter.
git-svn-id: http://voip.null.ro/svn/yate@1481 acf43c95-373e-0410-b603-e72c3f656dc1
2007-11-21 01:08:14 +00:00
paulc
6b652ea470 Allow routing full URIs to registered accounts.
git-svn-id: http://voip.null.ro/svn/yate@1472 acf43c95-373e-0410-b603-e72c3f656dc1
2007-11-07 17:58:15 +00:00
paulc
1b7bb99176 Raw SIP message display is now filtered by the same rules as the channels.
git-svn-id: http://voip.null.ro/svn/yate@1469 acf43c95-373e-0410-b603-e72c3f656dc1
2007-11-06 00:11:17 +00:00
marian
1bdfc45e46 Called's party username can be set on outgoing calls. Fixed bug: incoming REFER requests are now corectly responded if failed to be routed
git-svn-id: http://voip.null.ro/svn/yate@1452 acf43c95-373e-0410-b603-e72c3f656dc1
2007-09-20 08:56:02 +00:00
paulc
b525719ea6 Handle only 1xx responses with higher RSeq numbers than last PRACK sent.
Fixes bug report 0000070.


git-svn-id: http://voip.null.ro/svn/yate@1436 acf43c95-373e-0410-b603-e72c3f656dc1
2007-08-25 00:03:42 +00:00
paulc
822b46a0b2 Allow answering to session refreshes without a SDP offer.
git-svn-id: http://voip.null.ro/svn/yate@1435 acf43c95-373e-0410-b603-e72c3f656dc1
2007-08-24 23:26:40 +00:00
paulc
9bfe4559c4 Exclude from SDP media with no supported formats.
git-svn-id: http://voip.null.ro/svn/yate@1416 acf43c95-373e-0410-b603-e72c3f656dc1
2007-08-03 12:58:08 +00:00
paulc
3c930be0ac Added setting for the local address included in the chan.rtp message instead
of always allowing the RTP to guess.


git-svn-id: http://voip.null.ro/svn/yate@1413 acf43c95-373e-0410-b603-e72c3f656dc1
2007-07-31 11:44:52 +00:00
paulc
6a96997584 Removed SIP MIME classes, use engine provided ones.
git-svn-id: http://voip.null.ro/svn/yate@1411 acf43c95-373e-0410-b603-e72c3f656dc1
2007-07-26 23:47:29 +00:00
paulc
06cbc5e8cf Provide description in REGISTER Contact only if explicitely configured.
git-svn-id: http://voip.null.ro/svn/yate@1407 acf43c95-373e-0410-b603-e72c3f656dc1
2007-07-23 17:55:52 +00:00
paulc
33c43ec025 Added billid to the transfer call.route message.
git-svn-id: http://voip.null.ro/svn/yate@1393 acf43c95-373e-0410-b603-e72c3f656dc1
2007-07-18 11:43:17 +00:00
paulc
8aa1ead124 Generic handlers can alter the answer, not only the return code.
The CANCEL for a "pickup" reason will carry a Reason cause 200 to signal
the call as not being missed.


git-svn-id: http://voip.null.ro/svn/yate@1372 acf43c95-373e-0410-b603-e72c3f656dc1
2007-06-27 11:02:46 +00:00
paulc
2b213c9a93 From and To are now copied to generic messages. Answer code can be returned
as a reason keyword.


git-svn-id: http://voip.null.ro/svn/yate@1368 acf43c95-373e-0410-b603-e72c3f656dc1
2007-06-20 20:45:39 +00:00
paulc
5fc5d97040 Bodyless INFO messages can be handled generically. Return code of generic
transactions can be picked from Yate message.


git-svn-id: http://voip.null.ro/svn/yate@1362 acf43c95-373e-0410-b603-e72c3f656dc1
2007-06-11 17:34:50 +00:00
paulc
b4350bddd5 Use TelEngine::destruct(obj) or GenObject::destruct() wherever applicable.
git-svn-id: http://voip.null.ro/svn/yate@1325 acf43c95-373e-0410-b603-e72c3f656dc1
2007-05-15 15:40:50 +00:00
paulc
52936a4e83 Keep found connection referenced during processing, fixed crashings on SIP
messages received during hangups caused by other channels.


git-svn-id: http://voip.null.ro/svn/yate@1320 acf43c95-373e-0410-b603-e72c3f656dc1
2007-05-15 10:41:56 +00:00
paulc
be38e34df4 Allow to override DTMF sending method from the chan.dtmf "method" parameter.
git-svn-id: http://voip.null.ro/svn/yate@1315 acf43c95-373e-0410-b603-e72c3f656dc1
2007-05-13 21:55:14 +00:00
paulc
b2a1165731 Added "newcall"="true" in user.auth for requests that can create a new call.
git-svn-id: http://voip.null.ro/svn/yate@1305 acf43c95-373e-0410-b603-e72c3f656dc1
2007-05-09 20:22:33 +00:00
paulc
870f99c7b5 Added setting to limit the SIP socket receiver buffer size.
git-svn-id: http://voip.null.ro/svn/yate@1292 acf43c95-373e-0410-b603-e72c3f656dc1
2007-05-03 17:02:04 +00:00
paulc
63cc9ea312 Made the default of some settings depend on running in client or server mode.
git-svn-id: http://voip.null.ro/svn/yate@1242 acf43c95-373e-0410-b603-e72c3f656dc1
2007-04-02 12:51:23 +00:00
paulc
1b2e1f5a94 Media formats lists are updated with information from routing.
git-svn-id: http://voip.null.ro/svn/yate@1240 acf43c95-373e-0410-b603-e72c3f656dc1
2007-03-28 23:22:54 +00:00
paulc
cc227f6351 Fixed Call-Info parsing bug found by Yuri Gushin from Radware Inc.
git-svn-id: http://voip.null.ro/svn/yate@1228 acf43c95-373e-0410-b603-e72c3f656dc1
2007-03-26 11:00:29 +00:00
paulc
f52d5c9d77 Added setting to enforce the iLBC packetization.
git-svn-id: http://voip.null.ro/svn/yate@1226 acf43c95-373e-0410-b603-e72c3f656dc1
2007-03-21 03:01:54 +00:00
paulc
8c6f410276 Non-default RTP payload mappings are forwarded using call messages.
git-svn-id: http://voip.null.ro/svn/yate@1224 acf43c95-373e-0410-b603-e72c3f656dc1
2007-03-20 22:58:28 +00:00
paulc
fe08c982c4 Detect that RTP forwarding is not desired just after routing finished.
git-svn-id: http://voip.null.ro/svn/yate@1216 acf43c95-373e-0410-b603-e72c3f656dc1
2007-03-12 19:51:10 +00:00
paulc
310aa52b17 Added capability to request a RTP forward reINVITE from routing by setting
to true the "autoreinvite" parameter.


git-svn-id: http://voip.null.ro/svn/yate@1202 acf43c95-373e-0410-b603-e72c3f656dc1
2007-02-27 21:16:21 +00:00
paulc
44fd6c89ad Unchanged (not NAT fixed) location is returned in registration Contact.
P-NAT-Refresh can be set (default to 25s) if NAT is detected.


git-svn-id: http://voip.null.ro/svn/yate@1190 acf43c95-373e-0410-b603-e72c3f656dc1
2007-02-09 00:52:47 +00:00
paulc
aa7eb99793 Added Contact header to 200 of REGISTER, also handle expires tag in
incoming Contact if a global Expires header is not available.


git-svn-id: http://voip.null.ro/svn/yate@1189 acf43c95-373e-0410-b603-e72c3f656dc1
2007-02-08 04:31:21 +00:00
paulc
73ffffc2ae Fixed NAT in registration when port is missing.
git-svn-id: http://voip.null.ro/svn/yate@1185 acf43c95-373e-0410-b603-e72c3f656dc1
2007-01-31 01:29:38 +00:00
paulc
4bca01c2d1 Option to forward provisional messages even after getting an 180 Ringing.
Detection and generation of the special 181 and 182 progressing messages.


git-svn-id: http://voip.null.ro/svn/yate@1180 acf43c95-373e-0410-b603-e72c3f656dc1
2007-01-28 18:32:02 +00:00
paulc
a6ba6bffc5 Added capability to copy parameters from call.execute to outgoing channel's
chan.startup (and from there to call.cdr).


git-svn-id: http://voip.null.ro/svn/yate@1174 acf43c95-373e-0410-b603-e72c3f656dc1
2007-01-23 00:17:11 +00:00