Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release 4.6 #7

Open
wants to merge 56 commits into
base: release-4.6
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
56 commits
Select commit Hold shift + click to select a range
5efbc91
patch UserPortalFixLabel
Mar 15, 2013
810bd0c
patch snom-fixes
Mar 15, 2013
4c5690f
patch cdr-privacy
Mar 15, 2013
4f4c343
patch CdrFilter
Mar 15, 2013
8dedc45
patch CallDestPlugin
Mar 15, 2013
05bac29
Managing the setup on no network installation
Mar 15, 2013
5049265
patch CdrImprovement
Mar 15, 2013
2a6deb2
patch cdrRendering
Mar 15, 2013
98b6143
patch gatewayTable_Id
Mar 15, 2013
cded8a5
patch fwr_rule_and_dhcp_for_snom
Mar 15, 2013
e531767
Merge branch 'release-4.6' of github.com:spaghetty/sipxecs into relea…
Mar 15, 2013
0bd64d0
Merge branch 'release-4.6' of github.com:spaghetty/sipxecs into relea…
Mar 15, 2013
348d7be
Merge remote branch 'upstream/release-4.6' into release-4.6
Mar 17, 2013
0508bf7
add macro for golang
Mar 21, 2013
56cd930
adde ftp config directory parameter
Mar 27, 2013
6f404fc
patch snom-preferences
Mar 27, 2013
bd0f2e6
Merge remote branch 'upstream/release-4.6' into release-4.6
Mar 30, 2013
3b9b42c
fix homer link into cdr table
Mar 30, 2013
a369108
patch snom-preferences
baluluyakalulu Apr 9, 2013
638ad4c
fix for dbpatch
baluluyakalulu Apr 12, 2013
8e678d7
fix for dbpatch
Apr 15, 2013
9c9c082
Merge branch 'release-4.6' of git://github.com/spaghetty/sipxecs into…
baluluyakalulu Apr 15, 2013
688214c
Merge remote branch 'upstream/release-4.6' into release-4.6
Apr 15, 2013
f6935aa
Merge branch 'release-4.6' of github.com:spaghetty/sipxecs into relea…
Apr 15, 2013
af347c8
Merge branch 'release-4.6' of git://github.com/spaghetty/sipxecs into…
baluluyakalulu Apr 15, 2013
6e52aeb
Merge remote branch 'dhubler/release-4.6' into release-4.6
baluluyakalulu Apr 22, 2013
8c200f6
fix network config stuff
May 3, 2013
85d55f0
Merge branch 'release-4.6' of github.com:spaghetty/sipxecs into relea…
May 3, 2013
54a042b
XX-10599-dynamic-mailbox-folders-finding
May 8, 2013
544d66e
fixed nat firewall issue
May 9, 2013
d4054ea
Merge branch 'release-4.6' of github.com:spaghetty/sipxecs into relea…
May 9, 2013
9039a49
fix some strange issue
May 9, 2013
91b320f
updates to support Recorder service
May 14, 2013
2d0149e
Merge branch 'release-4.6' of github.com:spaghetty/sipxecs into relea…
May 14, 2013
476e701
Merge branch 'release-4.6' of git://github.com/spaghetty/sipxecs into…
May 14, 2013
d6897ef
merge from dhubler remote
May 17, 2013
a1767c9
last updates from dhubler
May 17, 2013
55f6312
Merge branch 'release-4.6' of git://github.com/dhubler/sipxecs into r…
May 20, 2013
7771cd8
change pickup beaviour to transfer at the cell number
May 27, 2013
c3b013b
Merge branch 'release-4.6' of git://github.com/spaghetty/sipxecs into…
May 27, 2013
f9c9ee7
Merge branch 'release-4.6' of git://github.com/spaghetty/sipxecs into…
May 28, 2013
aa28e03
fix sipxbridge support for dynamic dtmf payload
Jun 6, 2013
4e83491
Merge branch 'release-4.6' of git://github.com/spaghetty/sipxecs into…
Jun 6, 2013
43927ba
added file for snom firmware version 8.7
Jun 6, 2013
bd2c8bd
ForwardingRules extension for external plugin
Jun 7, 2013
4f6c71b
Merge branch 'release-4.6' of git://github.com/spaghetty/sipxecs into…
Jun 7, 2013
ed493a9
add support for listenin to the mobile phone
Jun 7, 2013
0f93936
Merge branch 'release-4.6' of git://github.com/spaghetty/sipxecs into…
Jun 7, 2013
01fe768
fixes for null address (eg mwi service not activated)
Jun 11, 2013
10c46e8
nodified Record button to use personal recorder on models 320 360 370
Jun 13, 2013
32139e6
restful api for conference parameters management
Jun 13, 2013
33d7bd3
(XX-10576) adjustable value for TCP and UDP retransmission
Jun 18, 2013
80a38db
Merge branch 'release-4.6' of git://github.com/spaghetty/sipxecs into…
Jun 18, 2013
e37292d
(XX-10628) fix border title
Jun 20, 2013
bf108ff
removed useless methods
Jun 21, 2013
dd5f219
(XX-5060) OsSocketTest should use a port not normally used by a sipx …
Jun 25, 2013
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions config/golang.m4
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
##
## AC macros for using go lang
##

AC_DEFUN([CHECK_GOLANG],[
AC_ARG_VAR(GOLANG, [ Go compiler full path ])

AC_PATH_PROG([GOLANG],[go],[no])
if test x$GOLANG != xno; then
found_golang="yes";
fi
AS_VAR_SET_IF([found_golang],
[],
[AC_MSG_ERROR([Cannot find golang installed. Install go and set GOROOT var])]
)
])
Original file line number Diff line number Diff line change
Expand Up @@ -1042,16 +1042,35 @@ static Set<Integer> getNonTelephoneEventMediaFormats(
for (Iterator it = mediaDescriptions.iterator(); it.hasNext();) {
MediaDescription mediaDescription = (MediaDescription) it
.next();
int telephoneEvent = -1;
if (mediaDescription.getMedia().getMediaType().equals("audio")) {
Vector formats = mediaDescription.getMedia()
.getMediaFormats(true);
for (Iterator it1 = formats.iterator(); it1.hasNext();) {
Object format = it1.next();
int fmt = new Integer(format.toString());
if (fmt != 100 && fmt != 101) {
retval.add(fmt);
Vector attributes = mediaDescription.getAttributes(true);

for (Iterator it1 = attributes.iterator(); it1.hasNext();) {
Attribute attr = (Attribute) it1.next();

if (attr.getName().equalsIgnoreCase("rtpmap") || attr.getName().equalsIgnoreCase("fmtp")) {
String attribute = attr.getValue();
String[] attrs = attribute.split(" ");
if (!attrs[1].startsWith("telephone-event")) {
try{
telephoneEvent = Integer.parseInt(attrs[0]);
} catch ( NumberFormatException ex) {
logger.warn("could not parse RTP Map " + attrs[0]);
continue;
}
}
}
}
Vector formats = mediaDescription.getMedia()
.getMediaFormats(true);
for (Iterator it1 = formats.iterator(); it1.hasNext();) {
Object format = it1.next();
int fmt = new Integer(format.toString());
if (fmt != telephoneEvent) {
retval.add(fmt);
}
}
}
}
return retval;
Expand Down Expand Up @@ -1127,27 +1146,8 @@ static SessionDescription cleanSessionDescription(
Vector formats = mediaDescription.getMedia().getMediaFormats(
true);
String mediaType = mediaDescription.getMedia().getMediaType();

int telephoneEvent = -1;
if ( mediaType.equals("audio")) {
for (Iterator it1 = formats.iterator(); it1.hasNext();) {
Object format = it1.next();
try {
Integer fmt = new Integer(format.toString());
if (!codecs.contains(fmt)) {
/*
* Preserve the telephone event lines -- this upsets
* some ITSPs otherwise. AT&T Hack.
*/
if (fmt != 100 && fmt != 101) {
it1.remove();
}
}
} catch (NumberFormatException ex) {
logger.warn("Could not parse media format " + format);
continue;
}
}

Vector attributes = mediaDescription.getAttributes(true);
for (Iterator it1 = attributes.iterator(); it1.hasNext();) {
Attribute attr = (Attribute) it1.next();
Expand All @@ -1161,17 +1161,18 @@ static SessionDescription cleanSessionDescription(
String[] attrs = attribute.split(" ");
try {
int rtpMapCodec = Integer.parseInt(attrs[0]);

if (!codecs.contains(rtpMapCodec)) {
/*
* Preserve the telephone event lines -- this upsets
* some ITSPs otherwise. AT&T Hack.
*/
if (rtpMapCodec != 100 && rtpMapCodec != 101) {
/*
* Preserve the telephone event lines -- this upsets
* some ITSPs otherwise. AT&T Hack.
*/
if (!codecs.contains(rtpMapCodec) && rtpMapCodec!=telephoneEvent) {
if (!attrs[1].startsWith("telephone-event")) {
if ( logger.isDebugEnabled()) {
logger.debug("codecs does not contain " + rtpMapCodec + " removing it ");
}
it1.remove();
} else {
telephoneEvent=rtpMapCodec;
}
}
} catch ( NumberFormatException ex) {
Expand All @@ -1187,6 +1188,23 @@ static SessionDescription cleanSessionDescription(
}

}
for (Iterator it1 = formats.iterator(); it1.hasNext();) {
Object format = it1.next();
try {
Integer fmt = new Integer(format.toString());
/*
* Preserve the telephone event lines -- this upsets
* some ITSPs otherwise. AT&T Hack.
*/
if (!codecs.contains(fmt) && telephoneEvent!=fmt) {
it1.remove();
}
} catch (NumberFormatException ex) {
logger.warn("Could not parse media format " + format);
continue;
}
}

}

}
Expand Down
5 changes: 3 additions & 2 deletions sipXcdr/bin/sipxcdr.in
Original file line number Diff line number Diff line change
Expand Up @@ -137,8 +137,9 @@ EOF
# special patch that upgrades DB version to the latest version - only use once
VersionPatch="upgrade_version"

UpgradePatches7=""
UpgradePatches6="cdrremote $VersionPatch"
UpgradePatches8=""
UpgradePatches7="gateway $VersionPatch"
UpgradePatches6="cdrremote $UpgradePatches7"
UpgradePatches5="transaction $UpgradePatches6"
UpgradePatches4="reference contact calldirection transaction $UpgradePatches5"
UpgradePatches3="index_on_time $UpgradePatches4"
Expand Down
3 changes: 2 additions & 1 deletion sipXcdr/etc/Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,8 @@ dist_sql_DATA = \
database/contact.sql \
database/calldirection.sql \
database/cdrremote.sql \
database/transaction.sql
database/transaction.sql \
database/gateway.sql

cfinputsdir = @SIPX_CFINPUTS@/plugin.d
dist_cfinputs_DATA = \
Expand Down
2 changes: 2 additions & 0 deletions sipXcdr/etc/database/gateway.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
alter table cdrs add column called_number text ;
alter table cdrs add column gateway int ;
23 changes: 19 additions & 4 deletions sipXcdr/lib/cdr.rb
Original file line number Diff line number Diff line change
Expand Up @@ -153,6 +153,7 @@ def established?
private
def get_leg(cse)
id = CallLeg.leg_id(cse)
puts cse.request_uri,"->", id
@legs[id] ||= CallLeg.new(id, @log)
end
end
Expand Down Expand Up @@ -207,7 +208,10 @@ def initialize(call_id, log=nil)
@failure_status = nil
@failure_reason = nil
@call_direction = nil

@called_number = nil
@gateway = nil
@contact_info = {}

@got_original = false
@log = log
@legs = CallLegs.new(@log)
Expand All @@ -223,7 +227,8 @@ def initialize(call_id, log=nil)
FIELDS = [:call_id, :from_tag, :to_tag, :caller_aor, :callee_aor,
:start_time, :connect_time, :end_time,
:termination, :failure_status, :failure_reason,
:call_direction, :reference, :caller_contact, :callee_contact, :caller_internal, :callee_route]
:call_direction, :reference, :caller_contact, :callee_contact, :caller_internal, :callee_route,
:called_number, :gateway ]

attr_accessor(*FIELDS)

Expand Down Expand Up @@ -301,8 +306,14 @@ def accept_call_request(cse)
original = !cse.to_tag
@caller_internal = cse.caller_internal
@via_count = cse.via_count if (!@via_count || cse.via_count < @via_count)
@branch_id = cse.branch_id if (!@branch_id || cse.via_count <= @via_count)
@branch_id = cse.branch_id if (!@branch_id || cse.via_count <= @via_count)
# bailout if we already have original request and this one is not

if cse.request_uri.include? "sipxecs-lineid"
called_number = Utils.contact_without_params(cse.request_uri)
gateway = Integer(/.*sipxecs-lineid=(\d+).*/.match(cse.request_uri)[1])
@contact_info[cse.branch_id] = [called_number, gateway]
end
return if(@got_original && !original)

# continue if we are original or if we are older
Expand All @@ -323,6 +334,10 @@ def accept_call_request(cse)
end

def accept_call_setup(cse)
if @contact_info.has_key? cse.branch_id
@called_number = @contact_info[cse.branch_id][0]
@gateway = @contact_info[cse.branch_id][1]
end
if !@start_time
# probably a case where we've missed the request. Setup necessary
# info as if a request was seen.
Expand Down Expand Up @@ -370,7 +385,7 @@ def apply_leg(leg)
end
@failure_reason = leg.failure_reason
@failure_status = leg.failure_status
@callee_contact = leg.callee_contact
@callee_contact = leg.callee_contact
end

# Map termination codes to human-readable strings
Expand Down
3 changes: 2 additions & 1 deletion sipXconfig/etc/ftp.cf
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,8 @@ pam_service_name=vsftpd
listen=YES
chroot_local_user=YES
port_enable=YES
log_ftp_protocol=YES";
log_ftp_protocol=YES
user_config_dir=/etc/vsftpd/user_conf";
"$(sipx.SIPX_CFDATA)/$(sipx.location_id)/vsftp.config.part"
insert_type => "file";
}
Expand Down
34 changes: 16 additions & 18 deletions sipXconfig/etc/sipxpbx/commserver/forwardingrules.vm
Original file line number Diff line number Diff line change
Expand Up @@ -22,32 +22,28 @@
<routeFrom>$route</routeFrom>
#end
<methodMatch>
<methodPattern>SUBSCRIBE</methodPattern>
#if( ${statusAddress} )

<!-- Message waiting indication events -->
<fieldMatch fieldName="Event">
<fieldPattern>message-summary.*</fieldPattern>
<!--this goes to the status server-->
<routeTo>&lt;${statusAddress.stripProtocol()};transport=tcp&gt;</routeTo>
</fieldMatch>

#set($method = $locals.get("subscribe"))
#set($methodDefault = $method.getDefRoute())
#set($methodName = $method.getName())
<methodPattern>$methodName</methodPattern>
#foreach ($field in $method.getFields())
#if($field.get("name"))

<fieldMatch fieldName=$field.get("name")>
<fieldPattern>$field.get("pattern")</fieldPattern>
<routeTo>$field.get("routeTo")</routeTo>
</fieldMatch>
#end
#end
<!-- "reg" event subscriptions. -->
<fieldMatch fieldName="Event">
<fieldPattern>reg</fieldPattern>
<routeTo>&lt;${regEventAddress.stripProtocol()};transport=tcp&gt;</routeTo>
</fieldMatch>

<!-- All other SUBSCRIBE requests go to the SIP registry service -->
<routeTo>&lt;${regAddress.stripProtocol()};transport=tcp;x-sipx-routetoreg&gt;</routeTo>
<routeTo>$methodDefault</routeTo>

</methodMatch>

<!-- All other requests go to the SIP registry service -->
<routeTo>&lt;${regAddress.stripProtocol()};transport=tcp;x-sipx-routetoreg&gt;</routeTo>
</route>


#if(${sbc.enabled})
#if(${exportLocalIpAddress})
<route mappingType='local ip address'>
Expand All @@ -66,6 +62,7 @@
<routeTo authRequired="true"/>
</route>
#end

#foreach($auxSbc in $auxSbcs)
#if($auxSbc.enabled)
<route mappingType='auxiliary SBC'>
Expand All @@ -86,6 +83,7 @@
#end
#end


<route mappingType="external destinations">
<description>Any foreign domain - route via session border.</description>

Expand Down
2 changes: 2 additions & 0 deletions sipXconfig/etc/sipxpbx/dhcp/dhcp.properties
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@ dhcpd-config.plcm_https_provisioning.label=Polycom HTTPS provisioning
dhcpd-config.plcm_https_provisioning.description=Enable Polycom phones and other devices that utilize DHCP option 160 to use HTTPS provisioning. Please note that the web SSL certificate MUST signed by a well know Cerificate Authority such as Verisign.
dhcpd-config.bria_https_provisioning.label=CounterPath Bria HTTPS provisioning
dhcpd-config.bria_https_provisioning.description=Enable CounterPath Bria clients and other devices that utilize DHCP option 120 to use HTTPS provisioning. Please note that the web SSL certificate MUST signed by a well know Cerificate such as Verisign.
dhcpd-config.snom_statichttp_provisioning.label=Adding Snom specific class
dhcpd-config.snom_statichttp_provisioning.description=Enable definition of snom class that provides url.
dhcpd-config.default_lease_time.label=Default lease time
dhcpd-config.default_lease_time.description=Length in seconds that will be assigned to a lease if the client requesting the lease does not ask for a specific expiration time.
dhcpd-config.max_lease_time.label=Maximum lease time
Expand Down
7 changes: 7 additions & 0 deletions sipXconfig/etc/sipxpbx/dhcp/dhcp.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
<!DOCTYPE model PUBLIC "-//SIPFoundry//sipXconfig//Model specification 2.0//EN"
"http://www.sipfoundry.org/sipXconfig/dtd/setting_2_0.dtd">
<model>

<group name="dhcpd-config">
<setting name="subnet" >
<type><ipaddr/></type>
Expand Down Expand Up @@ -39,6 +40,12 @@
</type>
<value>0</value>
</setting>
<setting name="snom_statichttp_provisioning">
<type>
<boolean />
</type>
<value>0</value>
</setting>
</group>
<group name="dhcpd-unmanaged">
<setting name="unmanaged">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,4 +34,11 @@ callresolver.SIP_CALLRESOLVER_CSE_QUEUE_SIZE.label=CSE Queue size
callresolver.SIP_CALLRESOLVER_CDR_QUEUE_SIZE.label=CDR Queue size
callresolver.SIP_CALLRESOLVER_MAX_CALL_LEN.label=Maximum call length
callresolver.SIP_CALLRESOLVER_MAX_RINGING_CALL_LEN.label=Maximum Ringing call length
callresolver.SIP_CALLRESOLVER_MIN_CLEANUP_INTERVAL.label=Minimum cleanup interval
callresolver.SIP_CALLRESOLVER_MIN_CLEANUP_INTERVAL.label=Minimum cleanup interval
callresolver.SIP_CALLRESOLVER_PRIVACY.label=Privacy Extension
callresolver.SIP_CALLRESOLVER_PRIVACY.description=When enabled hides last digits of phone numbers into cdrs to enhance privacy
callresolver.SIP_CALLRESOLVER_PRIVACY_LENGTH.label=Minimum length of extension that must be masquerade
callresolver.SIP_CALLRESOLVER_PRIVACY_LENGTH.description=This value indicate the minimum length of extension that should be covered with *
callresolver.SIP_CALLRESOLVER_PRIVACY_EXCLUDE.label=Prefix excluded from masquerading
callresolver.SIP_CALLRESOLVER_PRIVACY_EXCLUDE.description=This helps to exclude some prefix to be masquerade for extension with length equal to minimum.

16 changes: 16 additions & 0 deletions sipXconfig/etc/sipxpbx/sipxcallresolver/sipxcallresolver.xml
Original file line number Diff line number Diff line change
Expand Up @@ -116,5 +116,21 @@
</type>
<value />
</setting>
<setting name="SIP_CALLRESOLVER_PRIVACY" advanced="yes">
<type refid="enablestate" />
<value>DISABLE</value>
</setting>
<setting name="SIP_CALLRESOLVER_PRIVACY_LENGTH" advanced="yes">
<type>
<integer min="4" max="25" />
</type>
<value>5</value>
</setting>
<setting name="SIP_CALLRESOLVER_PRIVACY_EXCLUDE" advanced="yes">
<type>
<string />
</type>
<value></value>
</setting>
</group>
</model>
3 changes: 3 additions & 0 deletions sipXconfig/etc/sipxpbx/sipxproxy/sipXproxy-config.vm
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,9 @@ SIPX_PROXY_STALE_TCP_TIMEOUT :
SIPX_PROXY_TLS_PORT : $!{proxyService.secureSipPort}
SIPX_PROXY_TCP_PORT : $!{proxyService.sipTCPPort}
SIPX_PROXY_UDP_PORT : $!{proxyService.sipUDPPort}
SIPX_PROXY_UDP_RESEND : $!{proxyService.sipUDPResend}
SIPX_PROXY_TCP_RESEND : $!{proxyService.sipTCPResend}

SIPX_PROXY_CALL_STATE :
SIPX_PROXY_CALL_STATE_LOG :
SIPX_PROXY_CALL_STATE_DB : $callResolverSettings.getSetting('CALLRESOLVER_CALL_STATE_DB').Value
Expand Down
2 changes: 2 additions & 0 deletions sipXconfig/etc/sipxpbx/sipxproxy/sipxproxy.properties
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,8 @@ alert-info.ON_EXISTING.description=Phones can be configured to send their own Al
type.replaceOrKeep.0=Leave it as it is
type.replaceOrKeep.1=Replace it

proxy-configuration.SIPX_PROXY_UDP_RESEND.label=Max resend attempts for UDP
proxy-configuration.SIPX_PROXY_TCP_RESEND.label=Max resend attempts for TCP
proxy-configuration.SIPX_PROXY_LOG_LEVEL.label=Log Level
proxy-configuration.SIPX_PROXY_TCP_PORT.label=TCP Port
proxy-configuration.SIPX_PROXY_TCP_PORT.description=
Expand Down
Loading