Integration mobydick PBX and C# desktop app

xmpp
api
tapi
english

#1

Hi,

I’m a desktop developer (C#, Windows). Our customer has PBX server and wants to integrate it with our product. Could you give an advice or guideline, how we can develop a product without having a full-featured server?

At the moment, I performed following:

I downloaded PASCOM PBX (Current 64bit 17.06) from https://www.pascom.net/en/download/ and install as VM to VirtualBox. It looks like the setup process passed good. I can work with the main admin panel, REST API, XMPP Server admin panel using a browser.

I’ve found your GitHub page and the repo with an example of using XMPP protocol on C#: https://github.com/pascomnet/teleclient

Unfortunately, I was unable to force this example to work with my server installation. I enter login/password created by me user and try different variants of the server address. Simple IP (in my case it is 192.168.31.195) and with port numbers after a colon. As I can see in the XMPP admin panel, the following ports are listening:

  • 5222 Client to Server The standard port for clients to connect to the server. On this port plain-text connections are established, which, depending on configurable security settings, can (or must) be upgraded to encrypted connections.
  • 5223 Client to Server The port used for clients to connect to the server using the old SSL/TLS method. Connections established on this port are established using a pre-encrypted connection. This type of connectivity is commonly referred to as the “old-style” or “legacy” method of establishing encrypted connections. Configuration details can be modified in the security settings.
  • 7070 HTTP Binding The port used for unsecured HTTP client connections.
  • 7443 HTTP Binding The port used for secured HTTP client connections.
  • 5269 Server to Server The port used for remote servers to connect to this server. Connections established on this port are established using a pre-encrypted connection. This type of connectivity is commonly referred to as the “old-style” or “legacy” method of establishing encrypted connections. Configuration details can be modified in the security settings.
  • 5275 External Components The port used for external components to connect to the server. On this port plain-text connections are established, which, depending on configurable security settings, can (or must) be upgraded to encrypted connections.
  • 5276 External Components The port used for external components to the server using the old SSL/TLS method. Connections established on this port are established using a pre-encrypted connection. This type of connectivity is commonly referred to as the “old-style” or “legacy” method of establishing encrypted connections. Configuration details can be modified in the security settings.
  • 5262 Connection Manager The port used for connection managers to connect to the server. On this port plain-text connections are established, which, depending on configurable security settings, can (or must) be upgraded to encrypted connections.
  • 5263 Connection Manager The port used for connection managers to the server using the old SSL/TLS method. Connections established on this port are established using a pre-encrypted connection. This type of connectivity is commonly referred to as the “old-style” or “legacy” method of establishing encrypted connections. Configuration details can be modified in the security settings.
  • 9090 Admin Console The port used for unsecured Admin Console access.
  • 9091 Admin Console The port used for secured Admin Console access.
  • 7777 File Transfer Proxy The port used for the proxy service that allows file transfers to occur between two entities on the XMPP network.
  • 5229 Flash Cross Domain Service that allows Flash clients connect to other hostnames and ports.

If I enter IP address only or IP:Port, I will get those messages:

image

As I can see in the REST API (using the link https://{my_server_ip}/services/apidoc/#!/xmppuser/findAll_get_0) user j.doe has been created.

So to sum up, I want to ask the following questions:

  1. Is the example from github. com/pascomnet/teleclient working and compatible with the current version of PBX Server? What I do wrong?
  2. Could you give me recommendations, how I can organize my development process without using real server owned by my customer? Has mobydick PBX some mode for calls emulating which I can enable for my virtual machine installation? Can it emulate incoming calls? Such kind of sandbox is very appreciable because we do not have a real hardware and it is not useful accounting we have several developers, QAs, demo servers. Maybe some connector to a mobile phone (Android) can be used.

Thanks in advance,
Serge.


#2

I continued my experiments with ways for external app integration.

As I can see, another recommended API is TAPI which should be accessible after Windows Pascom Client installation.

I’ve downloaded and installed it. After entering user j.doe credentials, I received “login failed” message.

image

(IP different from my previous post because it is another machine)

I tried to enter the password and change it in the admin panel several times. If I enter user “admin” I can log in, but I don’t have a possibility to use my headset:

So, I’m at in deadlock with TAPI too and my request for a recommended way or guideline for integration and creating sandbox virtual server still actual.

Regards,
Serge


#3

Hi,

I mostly solved my questions. The main my fault was that I did not apply configuration changes after a user adding. This buttons on the top of the admin panel were “invisible” for me, but after looking Pascom youtube channel, I have begun to see them.

So, I’ve added 3 users, that might call each other using internal numbers (101, 102, 103) without having a real phone line. It is enough for my experiments. In addition, I’ve installed Windows client and TAPI drivers. So, I have a way to integrate Pascom into C# application.

Unfortunately, XMPP has not worked for me, so TAPI remains the only option for me.

Regards,
Serge.