Commit graph

353 commits

Author SHA1 Message Date
paulc
3f0c364a23 Don't copy the "handlers" parameter from user.auth
git-svn-id: http://voip.null.ro/svn/yate@5118 acf43c95-373e-0410-b603-e72c3f656dc1
2012-06-14 17:58:58 +00:00
paulc
7e77fd2cfb Added possibility to track message progress through handlers.
git-svn-id: http://voip.null.ro/svn/yate@5107 acf43c95-373e-0410-b603-e72c3f656dc1
2012-06-12 23:47:01 +00:00
paulc
17f591b08e Protect the generic methods list with the global mutex.
git-svn-id: http://voip.null.ro/svn/yate@5106 acf43c95-373e-0410-b603-e72c3f656dc1
2012-06-12 08:45:39 +00:00
paulc
8094964bc3 Properly map privacy=full back to SIP Remote-Party-ID and Privacy headers.
Got rid of a few useless String allocations.


git-svn-id: http://voip.null.ro/svn/yate@5090 acf43c95-373e-0410-b603-e72c3f656dc1
2012-06-04 12:06:33 +00:00
paulc
57577ceb53 Allow setting the external address of a NAT in the SDP sent by SIP.
git-svn-id: http://voip.null.ro/svn/yate@5058 acf43c95-373e-0410-b603-e72c3f656dc1
2012-05-11 21:33:21 +00:00
paulc
69ebd3ebfa Add SIP call parameters before performing authentication.
This allows user.auth to overwrite rather than duplicate parameters.


git-svn-id: http://voip.null.ro/svn/yate@5055 acf43c95-373e-0410-b603-e72c3f656dc1
2012-05-11 12:57:16 +00:00
paulc
e7c6d16ea8 Execute a hangup immediately if received a CANCEL message.
This fixes the total duration of a cancelled call in slow routing scenarios.


git-svn-id: http://voip.null.ro/svn/yate@5017 acf43c95-373e-0410-b603-e72c3f656dc1
2012-04-21 11:12:35 +00:00
paulc
3c4d068f0d Make sure we disconnect a SIP call on all branches of hangup.
Fixes BYE without CANCEL not being propagated.


git-svn-id: http://voip.null.ro/svn/yate@4994 acf43c95-373e-0410-b603-e72c3f656dc1
2012-04-04 17:36:34 +00:00
paulc
852a2874fb Map received disconnect cause "noanswer" to 480 Temporarily Unavailable.
Code 487 should be used only when a transaction is CANCELed.


git-svn-id: http://voip.null.ro/svn/yate@4984 acf43c95-373e-0410-b603-e72c3f656dc1
2012-03-29 16:34:32 +00:00
paulc
dd6479f1c0 Allow the "number" parameter to be processed in the user.auth message.
git-svn-id: http://voip.null.ro/svn/yate@4983 acf43c95-373e-0410-b603-e72c3f656dc1
2012-03-27 15:16:42 +00:00
paulc
cfe4edbc26 Changed the way SIP authentication is performed by UAS.
This allows implementing custom authentication schemes.


git-svn-id: http://voip.null.ro/svn/yate@4975 acf43c95-373e-0410-b603-e72c3f656dc1
2012-03-26 00:25:00 +00:00
paulc
f1a062da01 Added possibility to return custom SIP failure from user.auth message.
git-svn-id: http://voip.null.ro/svn/yate@4971 acf43c95-373e-0410-b603-e72c3f656dc1
2012-03-19 17:37:21 +00:00
paulc
747cf8bef1 Added the SIP user agent as "device" parameter of the user.auth message.
git-svn-id: http://voip.null.ro/svn/yate@4970 acf43c95-373e-0410-b603-e72c3f656dc1
2012-03-18 16:57:28 +00:00
paulc
9b8f77f172 Clear any local SIP media channels before populating the 200 answer to BYE.
This allows returning P-RTP-Stat when the other party initiates the hangup.


git-svn-id: http://voip.null.ro/svn/yate@4860 acf43c95-373e-0410-b603-e72c3f656dc1
2012-02-08 15:56:00 +00:00
paulc
4c00b8682b Set the custom 3xx redirect code in the channel's reason too, not only in SIP message.
git-svn-id: http://voip.null.ro/svn/yate@4762 acf43c95-373e-0410-b603-e72c3f656dc1
2011-12-15 10:06:40 +00:00
paulc
5f0a31cfd7 Forward the SIP audio change information to the peer channel.
Change SIP media format if the peer changed.
This allows switching to T.38 when RTP is proxied.


git-svn-id: http://voip.null.ro/svn/yate@4712 acf43c95-373e-0410-b603-e72c3f656dc1
2011-11-18 13:01:34 +00:00
marian
5b718f2810 Add login/logout failure error to user.notify message.
git-svn-id: http://voip.null.ro/svn/yate@4677 acf43c95-373e-0410-b603-e72c3f656dc1
2011-11-04 15:30:55 +00:00
paulc
4d74b5138f Added new static mutex to protect channel disconnect parameters during access.
git-svn-id: http://voip.null.ro/svn/yate@4662 acf43c95-373e-0410-b603-e72c3f656dc1
2011-10-28 18:23:26 +00:00
paulc
e48bdcbefe Fixed SIP status command broken by SVN commit 3776.
git-svn-id: http://voip.null.ro/svn/yate@4661 acf43c95-373e-0410-b603-e72c3f656dc1
2011-10-28 17:30:45 +00:00
paulc
2dc0283ae6 Added hack to preserve the RTP session when just the address has changed.
Can be used together with the hack for ignoring port change.


git-svn-id: http://voip.null.ro/svn/yate@4639 acf43c95-373e-0410-b603-e72c3f656dc1
2011-10-05 20:43:25 +00:00
paulc
005c873bce Allow global calls limits to be reloaded.
git-svn-id: http://voip.null.ro/svn/yate@4636 acf43c95-373e-0410-b603-e72c3f656dc1
2011-09-26 14:55:42 +00:00
paulc
9a85d0facd Fixed a few errors exposed by -Wunused-but-set-variable.
Removed some leftover variables exposed by same new compiler check.


git-svn-id: http://voip.null.ro/svn/yate@4589 acf43c95-373e-0410-b603-e72c3f656dc1
2011-09-08 10:36:32 +00:00
paulc
ec22b3c4ca At end of routing check if the INVITE transaction still exists.
This allows proper processing of an early CANCEL while routing is in progress.


git-svn-id: http://voip.null.ro/svn/yate@4573 acf43c95-373e-0410-b603-e72c3f656dc1
2011-08-29 09:42:30 +00:00
marian
b3102149c5 Added extra check to avoid building a sip party with invalid remote address.
git-svn-id: http://voip.null.ro/svn/yate@4566 acf43c95-373e-0410-b603-e72c3f656dc1
2011-08-24 15:03:23 +00:00
marian
4fc28f755c String to integer conversion can now check the result against allowed min/max values. Use it in sip module.
git-svn-id: http://voip.null.ro/svn/yate@4562 acf43c95-373e-0410-b603-e72c3f656dc1
2011-08-23 15:14:28 +00:00
marian
94117426bd Double the timeout period before using it. Decreased retransmission counters default values to keep the same overall timeout.
git-svn-id: http://voip.null.ro/svn/yate@4559 acf43c95-373e-0410-b603-e72c3f656dc1
2011-08-22 15:16:26 +00:00
marian
fa56ec84d8 Made configurable the number of times to transmit a request or a final response when retransmission is required.
git-svn-id: http://voip.null.ro/svn/yate@4556 acf43c95-373e-0410-b603-e72c3f656dc1
2011-08-22 14:11:51 +00:00
marian
3fe340c3ee Fixed bug: return proxy address when a line's domain is requested and there is no domain or registrar configured. This bug was introduced in SVN Rev. 4493.
git-svn-id: http://voip.null.ro/svn/yate@4546 acf43c95-373e-0410-b603-e72c3f656dc1
2011-08-18 11:29:54 +00:00
marian
dc20a43184 Added configurable certificate file to present on outgoing TLS connections.
git-svn-id: http://voip.null.ro/svn/yate@4545 acf43c95-373e-0410-b603-e72c3f656dc1
2011-08-18 10:49:27 +00:00
marian
d8ac36e914 Always reset a line's party when logout is required in user.login message.
git-svn-id: http://voip.null.ro/svn/yate@4541 acf43c95-373e-0410-b603-e72c3f656dc1
2011-08-11 14:52:32 +00:00
marian
11ea7cbf94 Properly handle host and port in sip generate message handler. Use default when missing.
git-svn-id: http://voip.null.ro/svn/yate@4540 acf43c95-373e-0410-b603-e72c3f656dc1
2011-08-10 11:22:18 +00:00
marian
56c62825b1 Listener type now defaults to udp if invalid. Handle listener type change in config.
git-svn-id: http://voip.null.ro/svn/yate@4531 acf43c95-373e-0410-b603-e72c3f656dc1
2011-07-29 11:03:19 +00:00
marian
8afd45a4f3 Build the tls listener even if context is empty. Added debug.
git-svn-id: http://voip.null.ro/svn/yate@4526 acf43c95-373e-0410-b603-e72c3f656dc1
2011-07-27 09:27:01 +00:00
marian
2e3c53bb1e Return line's resolved party address/port to match it for incoming requests.
git-svn-id: http://voip.null.ro/svn/yate@4523 acf43c95-373e-0410-b603-e72c3f656dc1
2011-07-25 13:45:43 +00:00
paulc
90a16a73c8 Added missing ISUP content to disconnection SIP messages (BYE, CANCEL, 4xx/5xx).
git-svn-id: http://voip.null.ro/svn/yate@4521 acf43c95-373e-0410-b603-e72c3f656dc1
2011-07-21 17:27:29 +00:00
marian
0aa1a6bc83 Made virtual base class destructor.
git-svn-id: http://voip.null.ro/svn/yate@4496 acf43c95-373e-0410-b603-e72c3f656dc1
2011-07-12 15:21:39 +00:00
marian
f9f3241df5 Added support for tcp/tls sip transport. The sip module can now use (bind on) more then one address for udp.
git-svn-id: http://voip.null.ro/svn/yate@4493 acf43c95-373e-0410-b603-e72c3f656dc1
2011-07-12 14:55:02 +00:00
paulc
0e7849e338 Emit new message "user.authfail" for paswword mismatch for existing users.
Use that message in the ban script.


git-svn-id: http://voip.null.ro/svn/yate@4451 acf43c95-373e-0410-b603-e72c3f656dc1
2011-06-10 13:39:24 +00:00
paulc
e217640446 Optimized const String usage in the SIP module.
git-svn-id: http://voip.null.ro/svn/yate@4431 acf43c95-373e-0410-b603-e72c3f656dc1
2011-06-03 15:14:38 +00:00
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