diff --git a/Classes/LinphoneUI/UICallBar.m b/Classes/LinphoneUI/UICallBar.m
index ccf039a4c..8f2455fd6 100644
--- a/Classes/LinphoneUI/UICallBar.m
+++ b/Classes/LinphoneUI/UICallBar.m
@@ -460,6 +460,12 @@
}
}
+- (void)sendCastelCommand:(NSString *)command {
+ static const NSString *CASTEL_COMMAND_PREFIX = @"MediaCommand";
+ if(command && [command hasPrefix:@"MediaCommand"] && [command length] > [CASTEL_COMMAND_PREFIX length]) {
+ linphone_core_send_dtmf([LinphoneManager getLc], [command characterAtIndex:[CASTEL_COMMAND_PREFIX length]]);
+ }
+}
#pragma mark - Action Functions
@@ -501,6 +507,30 @@
}
}
+- (IBAction)onOption1Click:(id)sender {
+ NSDictionary *dict = [[LinphoneManager instance] castelCommands];
+ if(dict) {
+ NSString *command = [dict objectForKey:[option1Button titleForState:UIControlStateNormal]];
+ [self sendCastelCommand:command];
+ }
+}
+
+- (IBAction)onOption2Click:(id)sender {
+ NSDictionary *dict = [[LinphoneManager instance] castelCommands];
+ if(dict) {
+ NSString *command = [dict objectForKey:[option2Button titleForState:UIControlStateNormal]];
+ [self sendCastelCommand:command];
+ }
+}
+
+- (IBAction)onOption3Click:(id)sender {
+ NSDictionary *dict = [[LinphoneManager instance] castelCommands];
+ if(dict) {
+ NSString *command = [dict objectForKey:[option3Button titleForState:UIControlStateNormal]];
+ [self sendCastelCommand:command];
+ }
+}
+
- (IBAction)onConferenceClick:(id)sender {
linphone_core_add_all_to_conference([LinphoneManager getLc]);
}
diff --git a/Classes/LinphoneUI/UICallBar.xib b/Classes/LinphoneUI/UICallBar.xib
index 48bcfec58..e237b6621 100644
--- a/Classes/LinphoneUI/UICallBar.xib
+++ b/Classes/LinphoneUI/UICallBar.xib
@@ -841,7 +841,7 @@
{{-5, 0}, {485, 320}}
-
+
_NS:9
2
NO
@@ -896,7 +896,7 @@
{{284, 10}, {107, 54}}
-
+
NO
NO
5
@@ -953,7 +953,7 @@
{{284, 72}, {107, 54}}
-
+
NO
NO
8
@@ -1067,7 +1067,7 @@
{{284, 196}, {107, 54}}
-
+
NO
NO
14
@@ -1083,10 +1083,10 @@