パトライトとクラウドコールセンターシステム「Bright Pattern」を連携させてみた

Warning light alarm for machine working

今回は、ネットワークの情報を光・音・音声で通知ができるパトライトと、クラウドコールセンターシステム「Bright Pattern」を連携してみました。

パトライトとBright Patternの連携は、以下のような要望・課題を持っている企業におすすめです。

  • Bright Patternの着信をデフォルトに加え、パトライトのカスタマイズした音や合成音声で通知したい
  • クラウドコールセンターシステムとパトライトを連携させたい

Bright Patternをはじめとする「クラウドコールセンターシステム」とパトライトを連携させることにより、席数の拡張性を維持しつつ現在の人員、PCの台数を効率的に運用していけます。

弊社のエンジニアが、今回の連携にトライしてみました。キャンペーンごとや用件ごとにパトライトの通知音を変える取り組みを行います。連携の際の注意点やコツも併せて紹介するので参考にしてください。

トライする内容

ネットワークで制御するタイプのパトライトと、クラウド型のコールセンターシステムであるBright Patternを連携させます。

パトライトをつなげることによって、Bright Patternのシステムデフォルトの通知音に加え、パトライトのカスタマイズした音や合成音声で通知することができるかどうか試します。キャンペーンや用件ごとに、着信音を音楽にしたり音声にしたりできるかどうかをトライしていきます。

トライする環境

パトライトとBright Patternを連携させる環境は、以下の通りです。

  • BPのライセンス設定―ベーシック
  • 使用するBPの機能―シナリオ機能
  • 使用するパトライトの型式-NHV4
  • 使用するAWSのサービス ー IoT Core, lambda(python)

弊社エンジニアからのひとこと
NHV4を選んだ理由は、「IoT CoreやHTTP API経由でコントロールできる」「音声読み上げ機能がついている」「出来るだけ多くの台数を示すことができる」の3つです。

パトライトとBright Patternを連携させる2つのメリット

一つ目のメリットは、パトライト側で鳴り分けを実現できるということです。パトライトには、MP3の再生やテキスト音声合成機能があるので、任意の着信音を設定できるようになります。

二つ目のメリットは、オペレーターが席から離れていても「着台がどこなのか」すぐにわかるようになります。パトライトが光・ブザー音・音声で、着信しているPCやサービス名を教えてくれるため、どの席で入呼を取ったら良いのかが直感的にわかるようになるのです。

オペレーターの数よりPCの数が多い拠点では、1人のオペレーターが複数のPCを使って、複数の案件に対応しなければいけないことがあります。この場合、「どのPCに入呼したのかわかりにくい」ことが問題になります。しかしパトライトがあれば、光や音で、どのPCにどのサービスから着信があったのかがわかるようになるのです。

ネットワークタイプのパトライトであれば、1台で複数のPCの受電状況を見分けることが可能です。さらに、待ち呼の状況に合わせてパトライトの色を変化させ、視覚的に緊急度合いを見分けられるようにもなります。

パトライトとBright Patternの連携手順

1.パトライトの購入

2.パトライトを有線でルーターに接続

弊社エンジニアからのひとこと
後ほど、パトライト端末にWeb管理画面からログインして設定をする必要があります。そのため、最初に有線でルーターにつなぐ時に、端末裏にあるピンスイッチの4番をonにしてください。そうすることによって、動的にDHCPからIPアドレスを取得させることができます(工場出荷時のIPアドレスは、192.168.10.1になっている)。

3.AWS IoT Coreの設定

AWS IoT Coreの設定は、パトライトのマニュアル通りで大丈夫です

弊社エンジニアからのひとこと
AWS IoT Coreの設定は、パトライトのマニュアル通りで大丈夫です。

4.AWSのIoT Coreで発行されたモノやトピックの情報をパトライトの管理画面に入力

この手順によって、パトライトをAWSのIoT コアに接続していきます。

パトライトをAWSのIoT コアに接続していきます

5.AWS Lamda(Python)にIoT Core経由で、パトライトにトピックを送る関数を作成

LamdaはBright Patternシナリオ(後述)から送られてきたpayload配列(辞書型)を、AWS IoT Core経由でパトライトに流すだけのコードです。コードは以下の通りです。

import json
import boto3



def lambda_handler(event, context):
    # TODO implement
    topic = '[手順3のSubscribeトピック名をここに書く]'
    endpoint = 'https://[手順3で発行されたエンドポイントをここに書く])'
    
    iot = boto3.client('iot-data', endpoint_url = endpoint)
    iot.publish(
        topic = topic,
        payload = json.dumps(event)
        )
        
        
    return {
        'statusCode': 200,
        'body': json.dumps('sent to topic' + topic )
    }

弊社エンジニアからのひとこと
Bright Patternのシナリオは、Lamdaブロックを使用しています。パラメーターのところに、パトライトのマニュアルに記載されているMQTT Subscribeフォーマットで、制御信号をJSONで記述すれば大丈夫です。詳しくは以下の画像をご覧ください。

パラメーターのところに、パトライトのマニュアルに記載されているMQTT Subscribeフォーマットで、制御信号をJSONで記述すれば大丈夫です

弊社エンジニアからのひとこと
もし、緑のLEDを点灯させながら、「サービス名」と呼び上げさせたい場合は以下のように記述してください。

{ "led_green":"1", "speech":[ { "text":"サービスめい", "lang":"jp", "voice":"female", "speed":"0", "tone":"0" }  ] }

Bright Patternの特徴
Bright Patternの管理画面の中にある「シナリオ機能」から、パトライトの動作を制御することができます

連携に役立つ5つのTIPS

パトライトとBright Patternを連携させるときに役立つTIPSを5つ紹介します。

1.音声読み上げの際の注意点

合成音声読み上げは、「漢字に弱い」というクセがあります。そのため、”text”はひらがなで送るのがおすすめです。

2.点灯の秒数を指定するには?

パトライトのMQTTには、光を「何秒間だけ点灯させる(何秒号に消灯)」という設定はありません。そのため、Bright Patternのシナリオ側でタイマー(秒)を置いて、その後にMQTTで”clear”:”1″を再度送って消灯させます。

3.点灯を消すコツ

シナリオで点灯させるのは簡単ですが、一度点灯したものを消すにはコツが必要です。インバウンドで通話接続のブロックの後に、Lambdaブロックを置いて、{“led_green”:”0″}を送ると以下のような結果になります。

パトライトは「エージェントが応答して、発信者が切断」のケースでは消灯しません

上記の表にあるように、「エージェントが応答して、発信者が切断」のケースでは消灯しません。このケースにおいては、通話接続のブロックの後に、lambdaブロックを置いて消灯信号を送っても消えないのです。

確実に消灯させるためには、例外ハンドラーを使用しなければいけません(下図参照)。

パトライトを確実に消灯させるためには、例外ハンドラーを使用しなければいけません

4.Bright Patternのシステム変数・APIの返り値の上手な活用法


Bright Patternのシステム変数・APIの返り値をうまく使えば、待ち呼数・サービス名・接続先エージェント名などを利用することができます

5.待ち呼数に応じた表示をさせるには?

待ち呼数に応じて、パトライトの光や音を変化させるにはどうしたらよいでしょうか。

LambdaやIoT coreなどを使わずに、Bright PatternのREAL-TIME STATISTICS APIで待ち呼数を取得して、それに応じて同じネットワーク内のパトライトにhttpでシグナルを送るpythonスクリプトをローカルの端末で実行すればOKです。

弊社エンジニアからのひとこと
業務で利用するレベルにするには、パトライトのクセというよりは、Bright PatternのREAL-TIME STATISTICS APIのクセ(許容実行頻度、トークン有効時間、subscriptionの制限、エラー処理)を把握する必要があります

パトライトとBright Patternの連携の動作確認をしよう

※一部ハウリング音が入ります。ご了承ください。

音声登録機能を利用した着信通知(曲)の鳴らし分けも確認しよう

パトライトでは、60の異なるMP3(または読み上げテキスト)を登録し、それを信号送信で鳴らすことができます。

パトライトでは、60の異なるMP3(または読み上げテキスト)を登録し、それを信号送信で鳴らすことができます

音声登録機能を使用して、パトライトから流す通知音をオペレーターやサービスごとに鳴らし分けることが可能になります。

※一部ハウリング音が入ります。ご了承ください。

最後に

今回は、パトライトとBright Patternを連携させ、条件ごとの鳴らし分けを試してみました。いかがだったでしょうか。

いまBright Patternをご利用のお客さまも、他社システムをご利用中の方も、さらに「こんなことを試してみたい」「Bright Patternでこれって実現できるのかな」という要望がございましたらお気軽にご相談ください。

弊社エンジニアからのひとこと
今回のトライを通して、IoTコアを使ってBright Patternとパトライトの連携ができることが分かりました。今後は個人PCなどのハードウェアとBright Patternの連携を試していきたいです。