Calling PBX extension. iOS SDK
Platform: iOS SDK ver 1.66.0
I was able to make calls to the PBX extension 2 weeks ago but recently I am not.
I tested this with the example application available on Github.
Function example:
-(void) makeMPCallTo:(Contact *) contact {
if([self checkMicrophoneAccess]){
self.currentCall = [_rtcService beginNewOutgoingCallWithWebRTCGatewayToNumber:@"XXX1234"];
if(!self.currentCall){
NSLog(@"Error making MP call");
}
}
}
Could you please let me know if there was any change recently?
Why was I able to make PBX calls before and how did it stop working now?
I have copied some logs below:
2020-02-04 15:06:50.439927+0000 WebRTC[1017:698166]
[DownloadManager:755] response for request : GET https://
openrainbow.com/api/rainbow/mediapillarnumbering/v1.0/
mediapillars/?number=<removed> receivedsize 1502
2020-02-04 15:06:50.440773+0000 WebRTC[1017:698166]
[RTCService:2625] [MEDIAPILLAR] Callee Mediapillar jid is :
mp_<removed>@openrainbow.com
2020-02-04 15:06:50.441585+0000 WebRTC[1017:698007]
didUpdateCall notification: connecting
2020-02-04 15:06:50.442278+0000 WebRTC[1017:698166]
[RTCService:3100] Create peer connection
(RTCConfiguration.mm:230): Don't have configured cert.
(rtc_event_log_impl.cc:43): Creating legacy encoder for RTC
event log.
(peer_connection_factory.cc:380): Using default network
controller factory
(bitrate_prober.cc:69): Bandwidth probing enabled, set to
inactive
(paced_sender.cc:159): ProcessThreadAttached 0x57e22d80
(cpu_info.cc:53): Available number of cores: 2
(aimd_rate_control.cc:109): Using aimd rate control with back
off factor 0.85
(remote_bitrate_estimator_single_stream.cc:72):
RemoteBitrateEstimatorSingleStream: Instantiating.
(remote_estimator_proxy.cc:48): Maximum interval between
transport feedback RTCP messages (ms): 250
(openssl_identity.cc:43): Making key pair
(openssl_identity.cc:91): Returning key pair
(openssl_certificate.cc:59): Making certificate for WebRTC
2020-02-04 15:06:50.457466+0000 WebRTC[1017:698166]
[RTCService:3187] Create audio track
(openssl_certificate.cc:109): Returning certificate
2020-02-04 15:06:50.459632+0000 WebRTC[1017:698166]
[RTCService:3192] Audio track created
2020-02-04 15:06:50.460561+0000 WebRTC[1017:698142]
[RTCService:3605] Renegotiation needed
2020-02-04 15:06:50.461849+0000 WebRTC[1017:698166]
[RTCService:3159] PeerConnection : RTCPeerConnection
<0x280f00380 configuration RTCConfiguration: {
(
"RTCIceServer 0x280f00200 <urls (\n \"turn:turnlim1.openrainbow.com:80?transport=tcp\"\n), tlsCertPolicy 0,
hostName ",
"RTCIceServer 0x280f02140 <urls (\n \"turns:turnlim1.openrainbow.com:443?transport=tcp\"\n), tlsCertPolicy 0,
hostName ",
"RTCIceServer 0x280f01fc0 <urls (\n \"turn:turnsbg1.openrainbow.com:80?transport=tcp\"\n), tlsCertPolicy 0,
hostName ",
"RTCIceServer 0x280f03e40 <urls (\n \"turns:turnsbg1.openrainbow.com:443?transport=tcp\"\n), tlsCertPolicy 0,
hostName "
)
ALL
MAX_BUNDLE
REQUIRE
TCP_ENABLED
CANDIDATE_ALL_NETWORKS
GATHER_ONCE
PLAN_B
200
0
-1
-1
0
0
0
(null)
(null)
0
0
0
0
5
(null)
}
ICEGatheringState New ICEConnectionState New
RTCSignalingState Stable>
2020-02-04 15:06:50.462123+0000 WebRTC[1017:698166]
[RTCService:3161] Create PeerConnection: 0x280f00380 with
Features: Audio Media Pillar
2020-02-04 15:06:50.463025+0000 WebRTC[1017:698166]
[RTCService:2998] Request new offer with constraint
RTCMediaConstraints:
{
IceRestart = true;
OfferToReceiveAudio = true;
VoiceActivityDetection = true;
}
{
}
(used_ids.h:55): Duplicate id found. Reassigning from 102 to
127
(used_ids.h:55): Duplicate id found. Reassigning from 104 to
125
(used_ids.h:55): Duplicate id found. Reassigning from 103 to
124
(used_ids.h:55): Duplicate id found. Reassigning from 1 to 14
(used_ids.h:55): Duplicate id found. Reassigning from 3 to 13
(webrtc_sdp.cc:3373): Ignored line: a=rtcp:9 IN IP4 0.0.0.0
(p2p_transport_channel.cc:536): Set backup connection ping
interval to 25000 milliseconds.
(p2p_transport_channel.cc:545): Set ICE receiving timeout to
2500 milliseconds
(p2p_transport_channel.cc:552): Set ping most likely
connection to 0
(p2p_transport_channel.cc:559): Set
stable_writable_connection_ping_interval to 2500
(p2p_transport_channel.cc:572): Set presume writable when
fully relayed to 0
(p2p_transport_channel.cc:590): Set
regather_on_failed_networks_interval to 300000
(p2p_transport_channel.cc:609): Set receiving_switching_delay
to 1000
(jsep_transport_controller.cc:1307): Creating
DtlsSrtpTransport.
(dtls_srtp_transport.cc:62): Setting RTCP Transport on audio
transport 0
(dtls_srtp_transport.cc:67): Setting RTP Transport on audio
transport 57e9b8e0
(p2p_transport_channel.cc:471): Set ICE ufrag: UDLT pwd:
dARd+1nI3ggVOt1BII9ZMyrw on transport audio
(webrtc_voice_engine.cc:1466): Setting voice channel options:
AudioOptions {audio_jitter_buffer_max_packets: 200,
audio_jitter_buffer_fast_accelerate: 0,
audio_jitter_buffer_min_delay_ms: 0,
audio_jitter_buffer_enable_rtx_handling: 0, }
(webrtc_voice_engine.cc:318): WebRtcVoiceEngine::ApplyOptions:
AudioOptions {audio_jitter_buffer_max_packets: 200,
audio_jitter_buffer_fast_accelerate: 0,
audio_jitter_buffer_min_delay_ms: 0,
audio_jitter_buffer_enable_rtx_handling: 0, }
(webrtc_voice_engine.cc:337): Always disable AEC on iOS. Use
built-in instead.
(webrtc_voice_engine.cc:349): Always disable NS on iOS. Use
built-in instead.
(webrtc_voice_engine.cc:360): Always disable AGC on iOS. Use
built-in instead.
(audio_device_module_ios.mm:598): BuiltInAECIsAvailable
(audio_device_generic.cc:18): BuiltInAECIsAvailable: Not
supported on this platform
(audio_device_module_ios.mm:601): output: 0
(audio_processing_impl.cc:708): Highpass filter activated: 1
(audio_processing_impl.cc:726): Gain Controller 2 activated: 0
(audio_processing_impl.cc:728): Pre-amplifier activated: 0
(apm_helpers.cc:48): Echo control set to 0 with mode 0
(audio_device_module_ios.mm:614): BuiltInAGCIsAvailable
(audio_device_generic.cc:28): BuiltInAGCIsAvailable: Not
supported on this platform
(audio_device_module_ios.mm:617): output: 0
(audio_device_module_ios.mm:630): BuiltInNSIsAvailable
(audio_device_generic.cc:38): BuiltInNSIsAvailable: Not
supported on this platform
(audio_device_module_ios.mm:633): output: 0
(apm_helpers.cc:62): NS set to 0
(webrtc_voice_engine.cc:442): NetEq capacity is 200
(webrtc_voice_engine.cc:448): NetEq fast mode? 0
(webrtc_voice_engine.cc:454): NetEq minimum delay is 0
(webrtc_voice_engine.cc:460): NetEq handle reordered packets?
0
(webrtc_voice_engine.cc:472): Experimental ns is enabled? 0
(webrtc_voice_engine.cc:482): Setting AGC to 0
(webrtc_voice_engine.cc:504): Typing detection is enabled? 0
(audio_processing_impl.cc:708): Highpass filter activated: 1
(audio_processing_impl.cc:726): Gain Controller 2 activated: 0
(audio_processing_impl.cc:728): Pre-amplifier activated: 0
(webrtc_voice_engine.cc:1484): Set voice channel options.
Current options: AudioOptions
{audio_jitter_buffer_max_packets: 200,
audio_jitter_buffer_fast_accelerate: 0,
audio_jitter_buffer_min_delay_ms: 0,
audio_jitter_buffer_enable_rtx_handling: 0, }
(channel.cc:146): Created channel for audio
(channel.cc:212): BaseChannel::Init_w,
media_transport_config={media_transport: null}
(call.cc:1045): UpdateAggregateNetworkState:
aggregate_state=down
(rtp_transport_controller_send.cc:282): SignalNetworkState
Down
(peer_connection.cc:4373): Session: 8456066569820908095 Old
state: kStable New state: kHaveLocalOffer
2020-02-04 15:06:50.473744+0000 WebRTC[1017:698142]
[RTCService:3254] Signaling peerConnection 0x280f00380 state
changed: Have local offer
(channel.cc:859): Setting local voice description
(webrtc_voice_engine.cc:1305):
WebRtcVoiceMediaChannel::SetRecvParameters: {codecs:
[AudioCodec[111:opus:48000:0:2],
AudioCodec[103:ISAC:16000:0:1],
AudioCodec[104:ISAC:32000:0:1], AudioCodec[9:G722:8000:0:1],
AudioCodec[102:ILBC:8000:0:1], AudioCodec[0:PCMU:8000:0:1],
AudioCodec[8:PCMA:8000:0:1], AudioCodec[106:CN:32000:0:1],
AudioCodec[105:CN:16000:0:1], AudioCodec[13:CN:8000:0:1],
AudioCodec[110:telephone-event:48000:0:1],
AudioCodec[112:telephone-event:32000:0:1],
AudioCodec[113:telephone-event:16000:0:1],
AudioCodec[126:telephone-event:8000:0:1]], extensions: [{uri:
urn:ietf:params:rtp-hdrext:ssrc-audio-level, id: 1}, {uri:
http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time,
id: 2}, {uri: http://www.ietf.org/id/draft-holmer-rmcattransport-wide-cc-extensions-01, id: 3}]}
(webrtc_voice_engine.cc:1494): Setting receive voice codecs.
(webrtc_voice_engine.cc:1765): AddSendStream: {id:iOS-audiotrack-266593985;ssrcs:
[1774483430];ssrc_groups:;cname:WRdNUWZazFpFZcJM;stream_ids:iO
S-stream-1404897506;}
(delay_manager.cc:75): Delay histogram config:
quantile=1041529569 forget_factor=32745 start_forget_weight=2
(neteq_impl.cc:129): NetEq config: sample_rate_hz=16000,
enable_post_decode_vad=true, max_packets_in_buffer=200,
min_delay_ms=0, enable_fast_accelerate=false,
enable_muted_state=false, enable_rtx_handling=false
(decision_logic.cc:87): NetEq decision logic settings:
estimate_dtx_delay=0 time_stretch_cn=0
target_level_window_ms=100
(audio_coding_module.cc:312): Created
-
I have got the answer to this.
I changed the function to the one in the end: but strange how RTC function allowed me to call earlier.
Now I would like to know if there is any way to pass the PBX extension number that is not linked with a contact?
-----------------------------
Make call to the given phone number
Declaration
OBJECTIVE-C
- (void)makeCallTo:(PhoneNumber *_Nonnull)phoneNumber fallBackHandler: (TelephonyServiceMakeCallFallBack _Nullable)fallbackHandler completionHandler: (TelephonyServiceMakeCallCompletionHandler _Nullable)completionHandler;
-
Hi Sibin,
Did you used Sending DTFM code?
https://hub.openrainbow.com/#/documentation/doc/sdk/ios/guides/Managing_voice_video_calls - SENDING A DTFM CODE
Please sign in to leave a comment.
Comments
4 comments