2015-06-25 17 views
6

Ich versuche, einen ausgehenden Anruf von einer eigenständigen UCMA-Anwendung an einen SIP-Provider (Gamma) zu tätigen, der sich anhand der Verbindungs-IP-Adresse authentifiziert. Hier ist der Code, mit dem ich dies zu erreichen versuchen (hob gerade von Michael Greenlee (http://blog.greenl.ee/2012/06/15/outbound-calls-ucma-lync-server/):Verbinden der Standalone-UCMA-Anwendung mit dem SIP-Trunk-Provider

ApplicationEndpointSettings endpointSettings = 
    new ApplicationEndpointSettings("sip:02037571***@80.229.80.***"); // My Ext. IP 

... 

CallEstablishOptions options = new CallEstablishOptions(); 
options.ConnectionContext = new ConnectionContext("88.215.61.***", 5060); // Gamma Ext. IP 

Conversation conv = new Conversation(_endpoint); 

AudioVideoCall avcall = new AudioVideoCall(conv); 

avcall.BeginEstablish("sip:07709411***@88.215.61.***", options, 
    ar2 => 
    { 
     try 
     { 
      avcall.EndEstablish(ar2); 
     } 
     catch (Exception ex) 
     { 
      Console.WriteLine(ex); 
     } 
    }, 
    null); 

Der Versuch zu einwählen schlägt mit Gamma Rückkehr ein 403 Forbidden-Quelle Endpoint Lookup fehlgeschlagen

. ich habe wireshark Spuren verglichen mit diesem Versuch scheiterte, und die ein Hardware-PBX, die erfolgreich raustelefoniere können

Arbeits Hardware PBX.

From: "02037571***"<sip:02037571***@80.229.80.***>;tag=39E432463135364100006C30 
     SIP Display info: "02037571***" 
     SIP from address: sip:[email protected]*** 
      SIP from address User Part: 02037571*** 
      SIP from address Host Part: 80.229.80.*** 
     SIP from tag: 39E432463135364100006C30 
    To: <sip:[email protected]***:5060> 
     SIP to address: sip:[email protected]***:5060 
      SIP to address User Part: 07709411*** 
      SIP to address Host Part: 88.215.61.*** 
      SIP to address Host Port: 5060 
    Contact: <sip:[email protected]***:5060> 
     Contact URI: sip:[email protected]***:5060 
      Contact URI User Part: 02037571*** 
      Contact URI Host Part: 80.229.80.*** 
      Contact URI Host Port: 5060 

Failing UCMA Anwendung:

 FROM: ""<sip:02037571***@80.229.80.***>;epid=C18B8F5C05;tag=be8d09ca4 
     SIP Display info: "" 
     SIP from address: sip:02037571***@80.229.80.*** 
      SIP from address User Part: 02037571*** 
      SIP from address Host Part: 80.229.80.*** 
     SIP from tag: be8d09ca4 
    TO: <sip:[email protected]***:5060> 
     SIP to address: sip:[email protected]***:5060 
      SIP to address User Part: 07709411*** 
      SIP to address Host Part: 88.215.61.*** 
      SIP to address Host Port: 5060 
    CONTACT: <sip:ADRIANHAND49F2.UnifyBusiness.local:5060;transport=Tcp;maddr=172.32.42.62;ms-opaque=260fcc58fdb93b58>;automata;actor="attendant";text;audio;video;image 
     Contact URI: sip:ADRIANHAND49F2.UnifyBusiness.local:5060;transport=Tcp;maddr=172.32.42.62;ms-opaque=260fcc58fdb93b58 
      Contact URI Host Part: ADRIANHAND49F2.UnifyBusiness.local 
      Contact URI Host Port: 5060 
      Contact URI parameter: transport=Tcp 
      Contact URI parameter: maddr=172.32.42.62 
      Contact URI parameter: ms-opaque=260fcc58fdb93b58 

Wie Sie sehen können, die FROM und TO Teile weitgehend ähnlich sind, aber der Kontaktabschnitt enthält die Angaben meiner Maschine und Domain anstatt diejenigen, die ich als die Anwendung Endpoint angegeben, wie genauso wie die LAN IP meines Rechners (maddr = 172.32.42.62).

Wenn ich _endpoint debugge und inspiziere, enthält die EndpointUri-Eigenschaft die Zeichenfolge ADRIANHAND49F2.UnifyBusiness.local, die meiner Meinung nach der Grund dafür ist, dass Gamma meinen Versuch zurückweist, einen Anruf zu tätigen. Diese Eigenschaft ist readonly so bin ich ein bisschen fest - kann mir bitte jemand helfen, mit meinem SIP-Provider verbinden? Alle Gedanken dankbar angenommen, danke!

Antwort

0

Die Kontaktadresse stammt von den Parametern ServerPlatformSettings (localhost/port).

Wenn Sie den localhost-Parameter in eine gepunktete Adresse ändern (oder einen Namen, der Ihnen mehr Sinn macht), sollte das für Sie funktionieren, hoffe ich.

Was ich nicht weiß ist, wie man einen Benutzer der Kontakt-URI setzt, aber ich bin mir nicht sicher, dass das zählt.