Merge branch 'reg_int'

This commit is contained in:
Juha Heinanen
2023-02-25 08:21:55 +02:00
5 changed files with 106 additions and 40 deletions
@@ -22,6 +22,7 @@ class Account(val accp: Long) {
var audioCodec = ArrayList<String>() var audioCodec = ArrayList<String>()
var videoCodec = ArrayList<String>() var videoCodec = ArrayList<String>()
var regint = Api.account_regint(accp) var regint = Api.account_regint(accp)
var configuredRegInt = REGISTRATION_INTERVAL
var mediaEnc = Api.account_mediaenc(accp) var mediaEnc = Api.account_mediaenc(accp)
var rtcpMux = Api.account_rtcp_mux(accp) var rtcpMux = Api.account_rtcp_mux(accp)
var dtmfMode = Api.account_dtmfmode(accp) var dtmfMode = Api.account_dtmfmode(accp)
@@ -66,6 +67,8 @@ class Account(val accp: Long) {
val extra = Api.account_extra(accp) val extra = Api.account_extra(accp)
if (Utils.paramExists(extra, "nickname")) if (Utils.paramExists(extra, "nickname"))
nickName = Utils.paramValue(extra,"nickname") nickName = Utils.paramValue(extra,"nickname")
if (Utils.paramExists(extra, "regint"))
configuredRegInt = Utils.paramValue(extra,"regint").toInt()
callHistory = Utils.paramValue(extra,"call_history") == "" callHistory = Utils.paramValue(extra,"call_history") == ""
if (Utils.paramExists(extra, "country_code")) if (Utils.paramExists(extra, "country_code"))
countryCode = Utils.paramValue(extra,"country_code") countryCode = Utils.paramValue(extra,"country_code")
@@ -144,7 +147,10 @@ class Account(val accp: Long) {
if (countryCode != "") if (countryCode != "")
extra += ";country_code=$countryCode" extra += ";country_code=$countryCode"
if (extra != "") if (configuredRegInt != REGISTRATION_INTERVAL)
extra += ";regint=$configuredRegInt"
if (extra !="")
res += ";extra=\"" + extra.substringAfter(";") + "\"" res += ";extra=\"" + extra.substringAfter(";") + "\""
return res return res
@@ -40,6 +40,7 @@ class AccountActivity : AppCompatActivity() {
private lateinit var stunUser: EditText private lateinit var stunUser: EditText
private lateinit var stunPass: EditText private lateinit var stunPass: EditText
private lateinit var regCheck: CheckBox private lateinit var regCheck: CheckBox
private lateinit var regInt: EditText
private lateinit var mediaNatSpinner: Spinner private lateinit var mediaNatSpinner: Spinner
private lateinit var mediaEnc: String private lateinit var mediaEnc: String
private lateinit var mediaEncSpinner: Spinner private lateinit var mediaEncSpinner: Spinner
@@ -84,6 +85,7 @@ class AccountActivity : AppCompatActivity() {
authPass = binding.AuthPass authPass = binding.AuthPass
outbound = arrayOf(binding.Outbound1, binding.Outbound2) outbound = arrayOf(binding.Outbound1, binding.Outbound2)
regCheck = binding.Register regCheck = binding.Register
regInt = binding.RegInt
mediaNatSpinner = binding.mediaNatSpinner mediaNatSpinner = binding.mediaNatSpinner
stun = binding.Stun stun = binding.Stun
stunServer = binding.StunServer stunServer = binding.StunServer
@@ -234,6 +236,7 @@ class AccountActivity : AppCompatActivity() {
} }
regCheck.isChecked = acc.regint > 0 regCheck.isChecked = acc.regint > 0
regInt.setText(acc.configuredRegInt.toString())
this.acc.audioCodec = acc.audioCodec this.acc.audioCodec = acc.audioCodec
@@ -485,26 +488,38 @@ class AccountActivity : AppCompatActivity() {
save = true save = true
} }
var newRegint = -1 val newConfiguredRegInt = regInt.text.toString().trim().toInt()
if (regCheck.isChecked) { if (newConfiguredRegInt < 60 || newConfiguredRegInt > 3600) {
if (acc.regint != REGISTRATION_INTERVAL) { Utils.alertView(
newRegint = REGISTRATION_INTERVAL this, getString(R.string.notice),
ua.status = R.drawable.dot_yellow String.format(getString(R.string.invalid_reg_int), newConfiguredRegInt)
} )
} else { return false
if (acc.regint != 0) {
ua.status = R.drawable.dot_white
newRegint = 0
}
} }
if (newRegint != -1) { val reRegister = (regCheck.isChecked != acc.regint > 0) ||
if (Api.account_set_regint(acc.accp, newRegint) != 0) { (regCheck.isChecked && newConfiguredRegInt != acc.configuredRegInt)
if (reRegister) {
if (Api.account_set_regint(
acc.accp,
if (regCheck.isChecked) newConfiguredRegInt else 0
) != 0
) {
Log.e(TAG, "Setting of regint failed") Log.e(TAG, "Setting of regint failed")
} else { } else {
ua.status = if (regCheck.isChecked)
R.drawable.dot_yellow
else
R.drawable.dot_white
acc.regint = Api.account_regint(acc.accp) acc.regint = Api.account_regint(acc.accp)
acc.configuredRegInt = newConfiguredRegInt
Log.d(TAG, "New regint is ${acc.regint}") Log.d(TAG, "New regint is ${acc.regint}")
save = true save = true
} }
} else {
if (newConfiguredRegInt != acc.configuredRegInt) {
acc.configuredRegInt = newConfiguredRegInt
save = true
}
} }
if (mediaNat != acc.mediaNat) { if (mediaNat != acc.mediaNat) {
@@ -660,8 +675,8 @@ class AccountActivity : AppCompatActivity() {
if (save) { if (save) {
AccountsActivity.saveAccounts() AccountsActivity.saveAccounts()
if (newRegint != -1) { if (reRegister) {
if (newRegint == 0) if (acc.regint == 0)
Api.ua_unregister(ua.uap) Api.ua_unregister(ua.uap)
else else
Api.ua_register(ua.uap) Api.ua_register(ua.uap)
+54 -17
View File
@@ -161,6 +161,33 @@
</CheckBox> </CheckBox>
</RelativeLayout> </RelativeLayout>
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<TextView
android:id="@+id/RegIntTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_centerVertical="true"
android:layout_toStartOf="@id/RegInt"
android:textSize="18sp"
android:text="@string/reg_int" >
</TextView>
<EditText
android:id="@+id/RegInt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_gravity="end"
android:layout_centerVertical="true"
android:textSize="18sp"
android:inputType="number"
android:importantForAutofill="no" >
</EditText>
</RelativeLayout>
<TextView <TextView
android:id="@+id/AudioCodecsTitle" android:id="@+id/AudioCodecsTitle"
android:layout_width="wrap_content" android:layout_width="wrap_content"
@@ -355,25 +382,35 @@
android:layout_width="fill_parent"> android:layout_width="fill_parent">
</EditText> </EditText>
<TextView <RelativeLayout
android:id="@+id/CountryCodeTitle"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:paddingTop="10dp" android:orientation="horizontal" >
android:textSize="18sp" <TextView
android:text="@string/country_code" > android:id="@+id/CountryCodeTitle"
</TextView> android:layout_width="wrap_content"
android:layout_height="wrap_content"
<EditText android:layout_alignParentStart="true"
android:id="@+id/countryCode" android:layout_centerVertical="true"
android:layout_height="wrap_content" android:layout_toStartOf="@id/countryCode"
android:hint="@string/country_code_hint" android:paddingTop="10dp"
android:textColorHint="@color/colorSecondaryDark" android:textSize="18sp"
android:textSize="18sp" android:text="@string/country_code" >
android:inputType="phone" </TextView>
android:importantForAutofill="no" <EditText
android:layout_width="fill_parent"> android:id="@+id/countryCode"
</EditText> android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_gravity="end"
android:layout_centerVertical="true"
android:hint="@string/country_code_hint"
android:textColorHint="@color/colorSecondaryDark"
android:textSize="18sp"
android:inputType="phone"
android:importantForAutofill="no" >
</EditText>
</RelativeLayout>
<TextView <TextView
android:id="@+id/TelephonyProviderTitle" android:id="@+id/TelephonyProviderTitle"
+9 -4
View File
@@ -138,9 +138,12 @@
välityspalvelimen SIP URI</string> välityspalvelimen SIP URI</string>
<string name="invalid_proxy_server_uri">Virheellinen välityspalvelimen URI \'%1$s\'</string> <string name="invalid_proxy_server_uri">Virheellinen välityspalvelimen URI \'%1$s\'</string>
<string name="register">Rekisteröi</string> <string name="register">Rekisteröi</string>
<string name="register_help">Jos merkitty, rekisteröinti on <string name="register_help">Jos merkitty, rekisteröinti on aktiivinen ja REGISTER-sanomat
aktiivinen ja REGISTER-sanomat lähetetään noin 12 minuutin välein. lähetetään Rekisteröintitaajuus-asetuksen mukaisesti.</string>
</string> <string name="reg_int">Rekisteröintitaajuus</string>
<string name="reg_int_help">Kertoo kuinka usein baresip lähettää REGISTER-sanomia. Arvon on
oltava välillä 60-3600 (sekunttia).</string>
<string name="invalid_reg_int">Virheellinen Rekisteröintitaajuus \'%1$s\'</string>
<string name="media_nat">Media NAT hallinta</string> <string name="media_nat">Media NAT hallinta</string>
<string name="media_nat_help">Valitsee media NAT hallintaprotokollan <string name="media_nat_help">Valitsee media NAT hallintaprotokollan
(vapaaehtoinen). Vaihtoehtoja ovat STUN (Session Traversal Utilities (vapaaehtoinen). Vaihtoehtoja ovat STUN (Session Traversal Utilities
@@ -385,7 +388,9 @@
<string name="debug">Lokiviestit</string> <string name="debug">Lokiviestit</string>
<string name="debug_help">Jos merkitty, baresip tuottaa debug- ja info-tason Logcat-viestejä.</string> <string name="debug_help">Jos merkitty, baresip tuottaa debug- ja info-tason Logcat-viestejä.</string>
<string name="sip_trace">SIP-sanomien jäljitys</string> <string name="sip_trace">SIP-sanomien jäljitys</string>
<string name="sip_trace_help">Jos merkitty ja jos Lokiviestit on merkitty, Logcat-viestit sisältävät myös lähetetyt ja vastaanotetut SIP-sanomat. On aina merkitsemättä sovelluksen käynnistyessä.</string> <string name="sip_trace_help">Jos merkitty ja jos Lokiviestit on merkitty, Logcat-viestit
sisältävät myös lähetetyt ja vastaanotetut SIP-sanomat. On aina merkitsemättä sovelluksen
käynnistyessä.</string>
<string name="reset_config">Palauta oletusasetukset</string> <string name="reset_config">Palauta oletusasetukset</string>
<string name="reset_config_help">Jos merkitty, oletusasetukset palautetaan, kun <string name="reset_config_help">Jos merkitty, oletusasetukset palautetaan, kun
baresip seuraavan kerran käynnistetään. baresip seuraavan kerran käynnistetään.
+6 -3
View File
@@ -139,9 +139,12 @@
<string name="sip_uri_of_another_proxy_server">SIP URI of another Proxy Server</string> <string name="sip_uri_of_another_proxy_server">SIP URI of another Proxy Server</string>
<string name="invalid_proxy_server_uri">Invalid Proxy Server URI \'%1$s\'</string> <string name="invalid_proxy_server_uri">Invalid Proxy Server URI \'%1$s\'</string>
<string name="register">Register</string> <string name="register">Register</string>
<string name="register_help">If checked, registration is enabled and REGISTER requests are sent at <string name="register_help">If checked, registration is enabled and REGISTER requests are sent
12 minute intervals. at the interval specified by Registration Interval.</string>
</string> <string name="reg_int">Registration Interval</string>
<string name="reg_int_help">Tells how often (in seconds) baresip sends REGISTER requests.
Valid values are from 60 to 3600.</string>
<string name="invalid_reg_int">Invalid Registration Interval\'%1$s\'</string>
<string name="media_nat">Media NAT Traversal</string> <string name="media_nat">Media NAT Traversal</string>
<string name="media_nat_help">Selects media NAT traversal protocol (if any). Possible choices are STUN <string name="media_nat_help">Selects media NAT traversal protocol (if any). Possible choices are STUN
(Session Traversal Utilities for NAT, RFC 5389) and ICE (Interactive Connectivity (Session Traversal Utilities for NAT, RFC 5389) and ICE (Interactive Connectivity