IPテレフォニーは誰も驚かず、多くはSkype、SipNet、TelMe、その他多くのサービスを利用しています。 志を同じくする人々と力を合わせて、既存のソリューションを繰り返すのではなく、既存のインターネットテレフォニープロバイダーを統合するためのサービスを作成することにしました。
なんで? 当社のサービスの主な目的は、すべてのプロバイダーを統合し、特定の期間およびこの方向で最も有利なレートで異なるゲートウェイを使用できるようにすることです。
このトピックでは、舞台裏にあったもの、選択したアーキテクチャ、快適なソリューション、開発ツールについてお話します。 そして、最も好奇心ha盛なhabrayuzerはささやかな贈り物を待っています。
何を実装しましたか?
- 単一の残高で、異なるサイトのアカウントを補充したり、多くのパスワードを覚えたりする必要はありません。
- 方向と最も適した選択の関税の比較。
- サイトから直接呼び出す機能。
- 詳細な通話の詳細。
- 便利で安全なAPI。
- 電話番号の識別、音声合成、SMS送信などの追加機能。
ほとんどの機能はuvoiceme.ru Webサイトで利用可能になり、小さい方はクローズドベータテスト中です。
昨年、私たちはWeb Readyへの参加も申請しましたが、決勝には進みませんでした:)
私たちの「チップ」
プロバイダーをダイヤルプレフィックスに修正することができます。つまり、たとえば、あるゲートウェイを使用してカナダに電話をかけるように構成し、ロシア内のコールには別のゲートウェイを使用します(通話の総コストを最小限に抑えるため)。
追加のソフトウェアをインストールすることなく、サイトから直接呼び出しを行うことができます。このために、適切なJavaアプレットを開発しました。 そのようなウェブ電話をあなたのウェブサイトにインストールできます!
2つの電話を接続することができます(APIを含む)-サービスは会話の参加者に到達し、同意する場合は接続します。
問題のハードウェアおよびソフトウェア側
ホスティング
- 専用サーバー-AMD Opteron Dual Core 1218 5200+ 2コア、4 GB DDR2 RAM、2x 300GB HDD SATA2(ソフトウェアRAID1)、Ubuntu 10.10 x64。
- 仮想ビデオチャットサーバー、Debian 5.0上のVDS。
- .masterhost、Windows Server 2008、ASP.NET(.NET Framework 4)からの共有ホスティング。
実装
- Communigate ProはIP-PBXサーバーとして使用されます。 5ユーザーの無料ライセンス。
- Samopisny請求、Postgresデータベース8.4.6。
- 課金とIP-PBXサーバーの間には、Cherry Pythonで記述されたレイヤーがあり、データ交換を提供します。
- サイトとAPIはASP.NET C#(Webフォーム、WCFサービス)に実装されており、開発には、Microsoft BizSparkプログラムを使用して取得したソフトウェア製品が使用されました。
建築
請求はどのように機能しますか?
好奇心の強い人のために、私は私たちの請求システムがどのように機能するかを正確に説明することにしました。
ユーザーの残高の保管は、「収入」と「経費」の記号を付けて操作テーブルにトランザクションを保管することにより、標準的な方法で実装されます。 補充金額の値は記号「+」で保存され、口座からの借方はすべて記号「-」で保存されます。
次のデータベースメソッドを呼び出しの記録に使用できます。
- INITCALL-IP-PBXは、ユーザーが呼び出す必要のある番号でこのメソッドを呼び出します。 課金は、この方向でユーザーの残高と通話の可用性、プロバイダー設定を確認します。 呼び出しを行う必要があるプロバイダーの設定を返します。
- STARTCALL-コールの開始をデータベースに記録します。 コールは、コールのUIDを使用して固定され、特別なテーブルでこの方向の料金が設定されます。
- PINGCALL-30秒ごとに残高の状態と通話を継続する能力をチェックし、料金に応じて金額を差し引きます。
- ENDCALL-コールの終了時に呼び出され、データベースから最後のPINGCALLコールを取得し、時間差を計算して、同等の資金を償却します。
- INFO-呼び出しの状態を記録するために定期的に呼び出されます。
- ERROR-エラーが発生したときに呼び出され、データベースで修正します。
それだけです。 将来的には、RADIUSを介した課金を実装する予定です。
API
サードパーティの開発者向けに、開発したすべての機能をアプリケーションに簡単に統合できる便利なAPIを提供します(アプリケーション自体は、Web、モバイル、デスクトップのいずれでもかまいません)。
このサイトにはAPI(REST)があり、次のメソッドで構成されています。
- APIにアクセスするときのクライアントの承認は、メソッドにアクセスするためにsessionIdを返します。
- ユーザー情報の取得。
- ログインによるユーザー検索。
- すぐに受信者を呼び出します(2つの番号が設定されています)。
- SMS送信。
- 宛先で再生するために、WAVファイルをIP-PBXサーバーに送信します。
- 電話をかけて電話番号を確認してください。
- ユーザーの連絡先リストに新しい連絡先を追加します。
- ユーザーの連絡先リストから連絡先を削除します。
- ユーザーの連絡先リストを取得します。
収益化
現在、すべての関税には最小のマージンがあります。 将来的には、プロバイダーを開き(現在はSIP1..SIPNという名前で非表示になっています)、マージンを削除し、APIなどの追加サービスに対してのみ支払いを行うか、月額料金を導入する予定です。
これで、WebMoneyシステムを介して、またはPINコードを有効にして、残高を補充できます。 将来的には、プリペイドカード形式のPINコードの実装を想定しています。
PINコード自体は、Yandex.Moneyでも購入できます。 これを行うには、認証後、 このページに移動してPINコードを選択する必要があります。 3、5、10、15、20の宗派が利用可能です。
私たちのチーム
同様のトピックを読んで、私はいつもこのプロジェクトを作っているチームに興味があります。 したがって、プロジェクト参加者の最も完全なリストを提供します。
nodir-一般ガイド、データベース、ウェブサイト、補助ユーティリティ
dilshod(tdilshod@gmail.com)-Communigateと請求の間のレイヤー
albertum (i)、 morgun 、 SoberPlatypus-サイト、API、テスト
アレクセイ(ICQ:233082107)-デザイン
レジーナ(ICQ:248258665、solaris.ar @ gmail.com)-著作権
このトピックの個人データの公開の許可をまだ取得していないチームメンバー:
匿名-Communigateのセットアップとスクリプト
Alexander-Javaアプレットダイヤラー
匿名-レイアウト
アンドレイ-情報セキュリティ
また、サイトとAPIの開発中に、リモートペアプログラミングで素晴らしい経験が得られたこと、Npgsqlのレーキが発見されてバイパスされたことなどにも注目したいと思います。
ハブラボヌス
当社のウェブサイトに登録してアカウントnodir(yourlogin@uvoiceme.ru)を作成した最初の50人のhabrayuzerには、1 USDのアカウントの補充という形でボーナスが与えられます。 Skypeのバウチャーと同じように、トラブルなしでのみ=)
50の幸運の数に達していない他のすべてのhabrayuzerに-マージンを削除します。