| Index: webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCIceServer.mm
 | 
| diff --git a/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCIceServer.mm b/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCIceServer.mm
 | 
| index 7f276580b522ad62c3ff70da3c192595d8789aa1..b511da96bfb5a73269836af57742d9e1d621ce09 100644
 | 
| --- a/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCIceServer.mm
 | 
| +++ b/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCIceServer.mm
 | 
| @@ -19,6 +19,7 @@
 | 
|  @synthesize credential = _credential;
 | 
|  @synthesize tlsCertPolicy = _tlsCertPolicy;
 | 
|  @synthesize hostname = _hostname;
 | 
| +@synthesize tlsAlpnProtocols = _tlsAlpnProtocols;
 | 
|  
 | 
|  - (instancetype)initWithURLStrings:(NSArray<NSString *> *)urlStrings {
 | 
|    return [self initWithURLStrings:urlStrings
 | 
| @@ -51,6 +52,20 @@
 | 
|                          credential:(NSString *)credential
 | 
|                       tlsCertPolicy:(RTCTlsCertPolicy)tlsCertPolicy
 | 
|                            hostname:(NSString *)hostname {
 | 
| +  return [self initWithURLStrings:urlStrings
 | 
| +                         username:username
 | 
| +                       credential:credential
 | 
| +                    tlsCertPolicy:tlsCertPolicy
 | 
| +                         hostname:hostname
 | 
| +                 tlsAlpnProtocols:[NSMutableArray new]];
 | 
| +}
 | 
| +
 | 
| +- (instancetype)initWithURLStrings:(NSArray<NSString *> *)urlStrings
 | 
| +                          username:(NSString *)username
 | 
| +                        credential:(NSString *)credential
 | 
| +                     tlsCertPolicy:(RTCTlsCertPolicy)tlsCertPolicy
 | 
| +                          hostname:(NSString *)hostname
 | 
| +                  tlsAlpnProtocols:(NSArray<NSString *> *)tlsAlpnProtocols {
 | 
|    NSParameterAssert(urlStrings.count);
 | 
|    if (self = [super init]) {
 | 
|      _urlStrings = [[NSArray alloc] initWithArray:urlStrings copyItems:YES];
 | 
| @@ -58,17 +73,20 @@
 | 
|      _credential = [credential copy];
 | 
|      _tlsCertPolicy = tlsCertPolicy;
 | 
|      _hostname = [hostname copy];
 | 
| +    _tlsAlpnProtocols =
 | 
| +    [[NSArray alloc] initWithArray:tlsAlpnProtocols copyItems:YES];
 | 
|    }
 | 
|    return self;
 | 
|  }
 | 
|  
 | 
|  - (NSString *)description {
 | 
| -  return [NSString stringWithFormat:@"RTCIceServer:\n%@\n%@\n%@\n%@\n%@",
 | 
| +  return [NSString stringWithFormat:@"RTCIceServer:\n%@\n%@\n%@\n%@\n%@\n%@",
 | 
|                                      _urlStrings,
 | 
|                                      _username,
 | 
|                                      _credential,
 | 
|                                      [self stringForTlsCertPolicy:_tlsCertPolicy],
 | 
| -                                    _hostname];
 | 
| +                                    _hostname,
 | 
| +                                    _tlsAlpnProtocols];
 | 
|  }
 | 
|  
 | 
|  #pragma mark - Private
 | 
| @@ -89,6 +107,12 @@
 | 
|    iceServer.password = [NSString stdStringForString:_credential];
 | 
|    iceServer.hostname = [NSString stdStringForString:_hostname];
 | 
|  
 | 
| +  [_tlsAlpnProtocols enumerateObjectsUsingBlock:^(NSString *proto,
 | 
| +                                                  NSUInteger idx,
 | 
| +                                                  BOOL *stop) {
 | 
| +    iceServer.tls_alpn_protocols.push_back(proto.stdString);
 | 
| +  }];
 | 
| +
 | 
|    [_urlStrings enumerateObjectsUsingBlock:^(NSString *url,
 | 
|                                              NSUInteger idx,
 | 
|                                              BOOL *stop) {
 | 
| @@ -118,6 +142,11 @@
 | 
|    NSString *username = [NSString stringForStdString:nativeServer.username];
 | 
|    NSString *credential = [NSString stringForStdString:nativeServer.password];
 | 
|    NSString *hostname = [NSString stringForStdString:nativeServer.hostname];
 | 
| +  NSMutableArray *tlsAlpnProtocols =
 | 
| +      [NSMutableArray arrayWithCapacity:nativeServer.tls_alpn_protocols.size()];
 | 
| +  for (auto const &proto : nativeServer.tls_alpn_protocols) {
 | 
| +    [tlsAlpnProtocols addObject:[NSString stringForStdString:proto]];
 | 
| +  }
 | 
|    RTCTlsCertPolicy tlsCertPolicy;
 | 
|  
 | 
|    switch (nativeServer.tls_cert_policy) {
 | 
| @@ -133,7 +162,8 @@
 | 
|                           username:username
 | 
|                         credential:credential
 | 
|                      tlsCertPolicy:tlsCertPolicy
 | 
| -                         hostname:hostname];
 | 
| +                         hostname:hostname
 | 
| +                 tlsAlpnProtocols:tlsAlpnProtocols];
 | 
|    return self;
 | 
|  }
 | 
|  
 | 
| 
 |