i normally use TGLs they are used in the missions and seem to work fairly well,
Code From NF Distress Calls:
pGame = App.Game_GetCurrentGame()
pEpisode = pGame.GetCurrentEpisode()
pMission = pEpisode.GetCurrentMission()
gp_Database = pMission.SetDatabase("data/TGL/NewFrontier/General.tgl")
pSequence = App.TGSequence_Create()
pBridge = App.g_kSetManager.GetSet("bridge")
pKiska = App.CharacterClass_GetObject(pBridge, "Helm")
pSaffi = App.CharacterClass_GetObject(pBridge, "XO")
pISID1 = pSequence.AppendAction(App.CharacterAction_Create(pKiska, App.CharacterAction.AT_SAY_LINE, "IncomingSID1", None, 0, gp_Database))
pISID2 = pSequence.AppendAction(App.CharacterAction_Create(pKiska, App.CharacterAction.AT_SAY_LINE, "IncomingSID2", None, 0, gp_Database))
pISID3 = pSequence.AppendAction(App.CharacterAction_Create(pKiska, App.CharacterAction.AT_SAY_LINE, "IncomingSID3", None, 0, gp_Database))
pSID = pSequence.AppendAction(App.CharacterAction_Create(pKiska, App.CharacterAction.AT_SAY_LINE, "GenericDistress", None, 0, gp_Database))
pORD = pSequence.AppendAction(App.CharacterAction_Create(pSaffi, App.CharacterAction.AT_SAY_LINE, "Orders", None, 0, gp_Database))
pSequence.AppendAction(pISID1)
pSequence.AppendAction(pISID2)
pSequence.AppendAction(pISID3)
pSequence.AppendAction(pORD)
pSequence.Play()