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

View File

@ -22,6 +22,7 @@ class Account(val accp: Long) {
var audioCodec = ArrayList<String>()
var videoCodec = ArrayList<String>()
var regint = Api.account_regint(accp)
var configuredRegInt = REGISTRATION_INTERVAL
var mediaEnc = Api.account_mediaenc(accp)
var rtcpMux = Api.account_rtcp_mux(accp)
var dtmfMode = Api.account_dtmfmode(accp)
@ -66,6 +67,8 @@ class Account(val accp: Long) {
val extra = Api.account_extra(accp)
if (Utils.paramExists(extra, "nickname"))
nickName = Utils.paramValue(extra,"nickname")
if (Utils.paramExists(extra, "regint"))
configuredRegInt = Utils.paramValue(extra,"regint").toInt()
callHistory = Utils.paramValue(extra,"call_history") == ""
if (Utils.paramExists(extra, "country_code"))
countryCode = Utils.paramValue(extra,"country_code")
@ -144,7 +147,10 @@ class Account(val accp: Long) {
if (countryCode != "")
extra += ";country_code=$countryCode"
if (extra != "")
if (configuredRegInt != REGISTRATION_INTERVAL)
extra += ";regint=$configuredRegInt"
if (extra !="")
res += ";extra=\"" + extra.substringAfter(";") + "\""
return res

View File

@ -40,6 +40,7 @@ class AccountActivity : AppCompatActivity() {
private lateinit var stunUser: EditText
private lateinit var stunPass: EditText
private lateinit var regCheck: CheckBox
private lateinit var regInt: EditText
private lateinit var mediaNatSpinner: Spinner
private lateinit var mediaEnc: String
private lateinit var mediaEncSpinner: Spinner
@ -84,6 +85,7 @@ class AccountActivity : AppCompatActivity() {
authPass = binding.AuthPass
outbound = arrayOf(binding.Outbound1, binding.Outbound2)
regCheck = binding.Register
regInt = binding.RegInt
mediaNatSpinner = binding.mediaNatSpinner
stun = binding.Stun
stunServer = binding.StunServer
@ -234,6 +236,7 @@ class AccountActivity : AppCompatActivity() {
}
regCheck.isChecked = acc.regint > 0
regInt.setText(acc.configuredRegInt.toString())
this.acc.audioCodec = acc.audioCodec
@ -485,26 +488,38 @@ class AccountActivity : AppCompatActivity() {
save = true
}
var newRegint = -1
if (regCheck.isChecked) {
if (acc.regint != REGISTRATION_INTERVAL) {
newRegint = REGISTRATION_INTERVAL
ua.status = R.drawable.dot_yellow
}
} else {
if (acc.regint != 0) {
ua.status = R.drawable.dot_white
newRegint = 0
}
val newConfiguredRegInt = regInt.text.toString().trim().toInt()
if (newConfiguredRegInt < 60 || newConfiguredRegInt > 3600) {
Utils.alertView(
this, getString(R.string.notice),
String.format(getString(R.string.invalid_reg_int), newConfiguredRegInt)
)
return false
}
if (newRegint != -1) {
if (Api.account_set_regint(acc.accp, newRegint) != 0) {
val reRegister = (regCheck.isChecked != acc.regint > 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")
} else {
ua.status = if (regCheck.isChecked)
R.drawable.dot_yellow
else
R.drawable.dot_white
acc.regint = Api.account_regint(acc.accp)
acc.configuredRegInt = newConfiguredRegInt
Log.d(TAG, "New regint is ${acc.regint}")
save = true
}
} else {
if (newConfiguredRegInt != acc.configuredRegInt) {
acc.configuredRegInt = newConfiguredRegInt
save = true
}
}
if (mediaNat != acc.mediaNat) {
@ -660,8 +675,8 @@ class AccountActivity : AppCompatActivity() {
if (save) {
AccountsActivity.saveAccounts()
if (newRegint != -1) {
if (newRegint == 0)
if (reRegister) {
if (acc.regint == 0)
Api.ua_unregister(ua.uap)
else
Api.ua_register(ua.uap)

View File

@ -161,6 +161,33 @@
</CheckBox>
</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
android:id="@+id/AudioCodecsTitle"
android:layout_width="wrap_content"
@ -355,25 +382,35 @@
android:layout_width="fill_parent">
</EditText>
<TextView
android:id="@+id/CountryCodeTitle"
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingTop="10dp"
android:textSize="18sp"
android:text="@string/country_code" >
</TextView>
<EditText
android:id="@+id/countryCode"
android:layout_height="wrap_content"
android:hint="@string/country_code_hint"
android:textColorHint="@color/colorSecondaryDark"
android:textSize="18sp"
android:inputType="phone"
android:importantForAutofill="no"
android:layout_width="fill_parent">
</EditText>
android:orientation="horizontal" >
<TextView
android:id="@+id/CountryCodeTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_centerVertical="true"
android:layout_toStartOf="@id/countryCode"
android:paddingTop="10dp"
android:textSize="18sp"
android:text="@string/country_code" >
</TextView>
<EditText
android:id="@+id/countryCode"
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
android:id="@+id/TelephonyProviderTitle"

View File

@ -138,9 +138,12 @@
välityspalvelimen SIP URI</string>
<string name="invalid_proxy_server_uri">Virheellinen välityspalvelimen URI \'%1$s\'</string>
<string name="register">Rekisteröi</string>
<string name="register_help">Jos merkitty, rekisteröinti on
aktiivinen ja REGISTER-sanomat lähetetään noin 12 minuutin välein.
</string>
<string name="register_help">Jos merkitty, rekisteröinti on aktiivinen ja REGISTER-sanomat
lähetetään Rekisteröintitaajuus-asetuksen mukaisesti.</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_help">Valitsee media NAT hallintaprotokollan
(vapaaehtoinen). Vaihtoehtoja ovat STUN (Session Traversal Utilities
@ -385,7 +388,9 @@
<string name="debug">Lokiviestit</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_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_help">Jos merkitty, oletusasetukset palautetaan, kun
baresip seuraavan kerran käynnistetään.

View File

@ -139,9 +139,12 @@
<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="register">Register</string>
<string name="register_help">If checked, registration is enabled and REGISTER requests are sent at
12 minute intervals.
</string>
<string name="register_help">If checked, registration is enabled and REGISTER requests are sent
at the interval specified by Registration Interval.</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_help">Selects media NAT traversal protocol (if any). Possible choices are STUN
(Session Traversal Utilities for NAT, RFC 5389) and ICE (Interactive Connectivity